java从入门到精通(韩顺平视频)笔记整理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Java从入门到精通笔记第0讲开山篇1.JavaseJ2se桌面JavaeeJ2ee网络JavameJ2me手机2.SQLserverMysqlOracle3.学习软件编程的注意事项1.高效愉快学习2.先建立一个整体框架然后细节3.用什么再学习什么4.先知道how,再知道why5.软件编程是一门“做中学”学科,做了才会6.适当囫囵吞枣7.琢磨别人怎么做,不是我认为这么做第1讲内容介绍.项目演示.原理剖析1.课程包括:java面向对象编程,java图形界面,java数据库编程,java文件i/o流,java网络编程,java的多线程2.Java历史:1990sun启动绿色计划1992创建oak语言—java1994gosling参加硅谷大会演示java功能震惊世界1995sun正式发布java第一个版本,目前最新的是jdk7.03.java开发工具:记事本,jcreator,jbuilder,netbean,eclipse4.jdk包括:jre(java运行环境)java的工具:编译器javac.exe解释执行器java.exejava的类库:3600多个,常用的150多个5.第一个程序://功能:显示“HelloWorld”//public:表示类是公共的,一个文件中只有一个public类//class:表示这个是一个类//HelloWorld:类名(公共类的类名,必须和文件名一样)publicclassHelloWorld{//一个主函数,程序的入口publicstaticvoidmain(Stringargs[]){//执行语句System.out.println(helloWorld!);}}6.Java源程序(.java文件)——java字节码文件(.class文件)——由解释执行器(java.exe)将字节码文件加载到java虚拟机(jvm)——字节码文件(.class)就会在java虚拟机中执行第2讲变量.数据类型1.在java里面int占4个字节,long占8个字节2.Java基本数据类型:整数:(byte一个字节:-128---127int四个字节:-2147483648---+2147483647short两个字节:-32768---+32767long八个字节:)小数(浮点):floatdouble布尔:boolean字符:char(两个字节,可以存放汉字,chartest1='中';)引申到字符串(类)3.在java中对char进行运算的时候,直接是当做ASCII码对应的整数4.数据不能从高精度到低精度的转换Byteshortintlongfloatdoublefloata=3.4;是过不去的,在java中小数默认是double(双精度)的应该写成是floata=3.4f;不过可以强制转换:inta=(int)1.2;intb=(int)1.95.inta=1;intb=a+1.2;a先是往高精度转换,然后赋给b,就报错改成inta=1;doubleb=a+1.2;或者inta=1;floatb=a+1.2f;就解决了第4讲流程控制1.switchcase语句中,switch条件表达式的数据类型应该和后面case的类型一致2.switchcase语句中,可用的数据类型主要是:byteshortintcharenum3.当型循环:for和while循环4.直到型循环:dowhile循环第5讲类与对象1.面向对象编程-类与对象类名首字母大写类里面的元素叫类的成员变量/属性2.类的定义package包名;class类名extends父类implements接口名{成员变量;构造方法;成员方法;}3.如何创建对象:先声明再创建Catcat1;cat1=newCat();一步到位Catcat1=newCat();4.引用传递类似于指针一样第6讲成员属性成员方法1.对象总是在内存中的2.类成员方法:方法就是指某些行为,表示为函数public返回数据类型方法名(参数列表){语句;//方法(函数)主题}3.类名首字母大写方法名首字母小写驼峰法(匈牙利法)下划线法4.指针是存储地址的,不因为它的指向的数据的类型而改变大小。第7讲成员方法(函数)构造方法1.类的成员方法声明访问修饰符数据类型函数名(参数列表);2.方法的参数列表是多个的,参数列表的数据类型是任意的3.在调用某个成员方法的时候给出的具体数值的个数和类型要相匹配4.方法可以没有返回值5.先设计类,然后根据类创建对象6.构造方法(构造函数):完成对新对象的初始化:方法名和类名相同没有返回值在创建一个类的新对象时,系统会自动调用该类的构造方法完成对新对象的初始化一个类可以定义多个不同的构造方法每个类都有一个默认的构造方法第8讲this类变量1.this属于类的对象的而不是属于类的2.5this不能在类的外部使用,只能在类定义时候使用!3.可以用类名直接访问静态变量第9讲类方法封装1.类变量是该类的所有对象共享的对象,一改全改了2.定义语法:访问修饰符static数据类型变量名3.publicclassDemo9{staticinti=1;static{System.out.println(zhixingyicile);i++;}//会自动执行一次,也只有一次publicDemo9(){System.out.println(ffffffff);i++;}publicstaticvoidmain(Stringargs[]){Demo9t1=newDemo9();System.out.println(Demo9.i);Demo9t2=newDemo9();System.out.println(i);}}4.类方法(静态方法、静态函数):属于所有对象实例的5.Java中:类变量(static)原则上用类方法(static)去访问;类方法中不能访问非静态变量,就是非类变量,但是普通的成员方法可以访问静态变量(类变量)使用:类名.类方法名对象名.类方法名6.非类变量就是实例变量,属于每个对象自己的7.Java面向对象编程的三(四)大特征:封装、继承、多态(、抽象)8.抽象:把一类事物的共有的属性和行为提取出来,形成一个物理模板,此研究问题的方法就是抽象9.封装:把抽象出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作。10.封装的访问控制修饰符11.四种访问控制符:公开级别:public受保护级别:对子类和同一个包中的类公开默认级别:没有修饰符,向同一个包的类公开,子类不可以访问类中默认级别的元素的私有级别:用private修饰,只有类本身才能访问公开受保护默认私有12.13.包的三大作用:区分相同名字的类当类很多的时候可以很好的管理类控制访问范围14.包的打包命令:packagecom.xiaoming一般放在文件的开始的地方15.引包命令:improt包名第10讲访问修饰符重载覆盖1.一个文家中如果只有public类,那么这个public类可以不用主函数2.不想被继承就设为protected3.子类最多只能继承一个父类,Java里面不允许一个子类继承多个父类,C++却可以,如Java中一定要呢,就用接口吧4.Java的所有类都是Object的子类,继承层次数没有限制5.JDK6.0里面有202个包,3777个类、接口、异常、枚举、注释和错误6.在做开发的时候多使用JDK帮助文档7.方法重载:类的同一种功能的多种实现方式,取决于调用者传递的参数8.方法重载注意事项:方法名相同方法的参数类型,个数,顺序至少有一项不同方法的修饰符可以不同方法的返回类型可以不同另外:只是返回类型不一样并不构成重载只是控制访问修饰符不一样不构成重载第11讲约瑟夫问题(丢手帕问题)1.方法覆盖的:子类有一个方法和父类的某个方法名称、返回类型、参数一样2.方法覆盖注意:子类的方法的返回类型、参数、方法名称要和父类的一样,否则编译出错子类方法不能缩小父类方法的访问权限,但是扩大是可以的3.丢手帕问题:第十二讲多态1.多态性:访问子类可以通过访问父类:Animalcat=newCat();Animaldog=newDog();2.在使用多态的时候,如果有使用覆盖函数,那么被覆盖的方法(即是父类中的的那个相应的方法)是要存在的。3.多态:一个引用(类型)在不同情况下的多种状态,可使代码更加灵活4.java允许父类的引用变量引用它子类的实例,是自动完成的代码:packagecom.agui;publicclassDemo5{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubDog2ddd=newDog2();ddd.cry();Cat2ccc=newCat2();ccc.cry();Animal2an=newCat2();an.cry();Masterxxx=newMaster();xxx.feed(newDog2(),newBone());}}//动物类classAnimal2{Stringname;intage;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}//叫publicvoidcry(){System.out.println(buxiaodezenmejiao);}publicvoideat(){System.out.println(buzhidaochishenme);}}classMaster{//使用多态,方法就可以用一个了publicvoidfeed(Animal2an,Foodf){an.eat();f.showName();}}classFood{Stringname;publicvoidshowName(){}}classFishextendsFood{publicvoidshowName(){System.out.println(yurou);}}classBoneextendsFood{publicvoidshowName(){System.out.println(gutou);}}classCat2extendsAnimal2{//猫自己叫publicvoidcry(){System.out.println(maomaojiao);}publicvoideat(){System.out.println(aichiyu);}}classDog2extendsAnimal2{//gou自己叫publicvoidcry(){System.out.println(wangwangjiao);}publicvoideat(){System.out.println(aichigutou);}}第十三讲抽象类接口(难点重点)1.父类方法的不确定性,用抽象类修饰这个方法,abstract。2.抽象类还是可以一样被继承3.当一个类继承的类是抽象的类时候,就要把抽象类中的所有的抽象方法全部方法实现4.用abstract关键词来修饰的时候,一定是抽象类和抽象方法5.在使用中不多,公司笔试的时候考很多6.抽象类不能被实例化,只有被继承以后再去实例化7.抽象类不一定要包含abstract方法,就算没有abstract方法,也不能实例化它8.一旦类包含了abstract方法,这个类必须声明为abstract9.抽象方法不能有主体“{}“packagecom.s1;publicclassDemo1{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub}}abstractclassAnimal{Stri

1 / 149
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功