Java学习笔记整理——李兴华视频归纳Java学习笔记之一一、环境变量设置1、JDK下载链接地址:下载完毕后,进行安装,比如安装到C:\ProgramFiles\Java\jdk1.6.0_12目录下,安装完毕后设置环境变量,需要设置的项如下:(1)JAVA_HOME:C:\ProgramFiles\Java\jdk1.6.0_12(2)PATH:C:\ProgramFiles\Java\jdk1.6.0_12\bin(3)CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;//注意:点号、分号一定不能丢掉了。2、开发工具IDE下载地址:(1)Eclipse:(2)Netbeans:(3)Jcreator:、开发工具IDE-Eclipse常用快捷键:二、Java基本介绍1、Java历史特点:Java自1995年诞生,至今有16年的历史,从诞生之日起,逐渐被广泛接受并成为推动了web迅速发展。Java的三种核心机制为虚拟机机制、代码安全机制、垃圾回收机制。Java最大的特点是平台无关性(可移植性好),通过不同的虚拟机与各类操作系统无缝结合。虚拟机实例是指:执行一个应用程序的时候,虚拟机产生一个实例对象来支撑应用程序的运行。2、类和对象:类是对现实世界某一类事物的抽象和提取,比如现实世界中有许多各式各样的人,同时每一个具体的个体的名字、性别、身高都是差异化的,更进一步地将这些实例对象抽象成具有某些特征的一类事物,这就是类。类中包括属性、方法等。3、面向对象语言的三大特征:封装、继承、多态是面向对象语言的三大特征。封装:将类的成员变量、构造方法或者成员方法私有化private,不直接暴露给外部使用者,而是通过提供一些接口供外部调用。继承:子类一方面通过继承父类的非私有化的成员变量、成员方法来实现自己,并能够在此基础上进一步拓展一把自己。多态:多态涉及到的是一个类型向上转型和向下转型的问题,通过父类搞出许多子类对象,每个子类对象都有自己的特点。三、代码实战操作1、编写最简单的helloworld程序并运行查看效果。2、程序的注释方法、类名、变量名、方法名命名规则学习等。3、Java语言的基本数据类型(四类八种)引用数据类型:数组、接口、类。4、Java语言的表达式、运算符、判断和循环语句等。5、数组的定义、使用,方法的声明和使用演练等操作。四、面向对象语言基础部分面向对象语言的三大特征是:封装、继承、多态下面先介绍封装和继承,然后再介绍多态性。Java学习笔记整理——李兴华视频归纳父类:人类Person子类:学生类Student子类向父类转型为向上转型,父类向子类转型为向下转型也叫做强制转换。代码如下:/***@authorAdministrator**@description父类,基类*@history*/classPerson{privateStringname;//private进行封装操作privateintage;//覆写toString方法@OverridepublicStringtoString(){returnPerson[name=+name+,age=+age+];}publicPerson(Stringname,intage){//全参数构造方法this.name=name;this.age=age;}publicPerson(){//无参数构造方法//donothing}//getter/setter方法publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}}/***@authorAdministrator*Java学习笔记整理——李兴华视频归纳*@description子类,继承自父类person*@history*/classStudentextendsPerson{privateStringschool;//子类拓展的属性,学校//覆写toString方法@OverridepublicStringtoString(){returnStudent[name=+super.getName()+,age=+super.getAge()+,school=+school+];}publicStudent(Stringname,intage,Stringschool){super(name,age);//调用父类带两个参数的构造方法this.school=school;}publicStudent(Stringname){super();//调用父类无参数构造方法this.school=name;}//getter/setter方法publicStringgetSchool(){returnschool;}publicvoidsetSchool(Stringschool){this.school=school;}}publicclassMyDemoTest{/***@description*@paramargs*/publicstaticvoidmain(String[]args){//定义并实例化父类对象Personp=newPerson(java,16);System.out.println(p);//调用toString方法//定义并实例化子类对象Students=newStudent(java,16,sun);System.out.println(s);//调用toString方法Personp1=newStudent(eclipse,12,ibm);//实例化子类对象赋给父类对象Students1=(Student)p1;//父类向子类转换,强制类型转换-向下转型System.out.println(s1);}Java学习笔记整理——李兴华视频归纳}/***@authorAdministrator**@description*@history*/publicclassMyFirstDemo{//类名、方法名、变量名等命名规则//一律做到简单明了,容易明白——简单就是美//1、类名首字母采用大写形式,如果是多个单词拼接采用驼峰形式//2、方法变量名首字母采用小写形式,方法名一般是动+名,变量命名做到见名知意/***@descriptionmain方法程序的入口*@paramargs参数*/publicstaticvoidmain(String[]args){System.out.println(helloworld);//最简单的helloworld程序//基本数据类型——四类八种//引用数据类型——接口、数组、类//byte,short,int,long,float,double,boolean,charbyteb=Byte.MAX_VALUE;//基本数据类型的包装类shorts=Short.MAX_VALUE;//short类型的最大值inti=Integer.MIN_VALUE;//int类型的最小值longl=Long.MAX_VALUE;//long类型的最大值floatf=1.50f;//定义float类型变量需要设置fdoubled=1.50d;//定义double类型变量需要设置dcharc='c';//定义char类型字符booleanboo=Boolean.TRUE;//定义boolean类型值//遵循变量先声明后使用原则//类型转换,精度高的向精度低的转换为强制类型转换byteb1=25;inti1=b1;//自动转换,提高精度inti2=350;byteb2=(byte)i2;//强制类型转换,精度丢失intsum=0;//定义变量时候养成初始化变量的习惯bytes1=1;ints2=125;sum=s1+s2;//byte类型会自动转换成int类型,类型提升//设计模式-襄垣模式Java学习笔记整理——李兴华视频归纳Integerin1=125;Integerin2=125;//in1==in2true//注释方式///*注释部分,代码不生效*//**文档注释**///表达式、运算符、判断循环分支语句和C语言类似//ifforwhiledowhilebreakcontinueswitchcase以及+-*%/等等//数组的定义、使用以及方法的定义和使用int[]array=newint[10];//定义整型数组并且数组长度为10for(intj=0;jarray.length;j++){array[j]=j+1;//初始化数组元素}inttmp=0;while(tmparray.length){System.out.println(array[tmp++]);//使用输出数组元素}sayHelloWorld();//调用静态方法sayHelloWorld()}//定义方法private该类内部才能够调用的方法//static静态方法、方法名称动+名,首字母采用小写privatestaticvoidsayHelloWorld(){System.out.println(helloworld);}}Java学习笔记之二一、面向对象基础部分1、this、super关键字基类:BaseTestpublicclassBaseTest{protectedStringpwd;//定义protected属性pwdpublicBaseTest(){//无参数构造方法}publicStringsayHelloWorld(){returnhelloworld;}}/***@authorAdministrator**@descriptionthis,super关键字测试类*@historyJava学习笔记整理——李兴华视频归纳*/publicclassMyTestDemoextendsBaseTest{//notes:测试使用而已,代码功能模拟而已privateStringusername;//定义用户昵称私有属性private修饰privateStringpassword;publicMyTestDemo(Stringusername){//构造方法this();//this()调用无参数构造方法this.username=username;//this.属性访问当前username属性//super.属性调用父类属性this.password=super.pwd;}publicMyTestDemo(){//无参数构造方法super();//调用父类无参数构造方法}publicvoidsayHello(){this.sayWord();//this.方法调用当前对象的sayWord方法super.sayHelloWorld();//super.方法调用父类sayHelloWorld方法}publicStringsayWord(){returnhellothis;}//this表示当前对象publicbooleanequals(Objectobj){MyTestDemoother=(MyTestDemo)obj;//传入的比较对象,强制转换操作//简单模拟,如果对象的username属性值相同那么就认为相同if(this==other){returntrue;}i