java学习笔记51

上传人:aa****6 文档编号:38181465 上传时间:2018-04-28 格式:PDF 页数:14 大小:666.77KB
返回 下载 相关 举报
java学习笔记51_第1页
第1页 / 共14页
java学习笔记51_第2页
第2页 / 共14页
java学习笔记51_第3页
第3页 / 共14页
java学习笔记51_第4页
第4页 / 共14页
java学习笔记51_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《java学习笔记51》由会员分享,可在线阅读,更多相关《java学习笔记51(14页珍藏版)》请在金锄头文库上搜索。

1、Java 学习笔记 学习 Java 首先要配置环境变量, 在电脑属性的高级中, 点击环境变量, classpath 中有一英文句号“.”后跟一个分号,表示当前路径的意思。由第一个程序 Helloworld 为例说明 Java 的基本运行代码: public class HelloWorld public static void main(String args) System.out.println(“Hello, World!“); 在 Java 中只能允许有一个公共类,此区别于 C+。还有 Java 的写作风格 与 C 和 C+有很大区别。下面细谈 Java 的基本语法,与其他语言类似,J

2、ava 每 一条语句都以“; ”结束。 1. short byte char 之间不会自动转换,他们运算时首先转换为 int 然后进行 运算;boolean 不会进行转换;如:byte b1;byte b2; byte b3=byte(b1+b2);b1+b2 运算后是 int 类型,可以 byte a=1;/可以把数值直接赋值不超范围, (-128127) float f1=1.234f;long l1=300000000L;f 和 L 一定加上; 2. System.out.println( );/输出后换行 System.out.print( );/输出后不换行 打印时,无论任何类型,都

3、先转换为字符 型,再进行打印。 3. 聚合关系,就是包含关系,实现关系就像虚基类,在派生类中实现。 4. 定义成员变量可以初始化, 若不则自动初始化(可以直接在成员变量的定义时 初始化);但局部变量一定要自己初始化,boolean 类型默认为 false,其他 默认为 0;在 main 中调用函数时,只要定义了构造函数并且初始化,就一定 要把实参的值写到函数里,不能少参数。因为所有数值定义后都有默认值, 所以一定要初始化如:int x;x 默认为 0;但是如果都不写初始值,调用函 数可以不用参数。5. String 关键字是字符串定义,不是字符如: (String name=“fgsdhj”/

4、也 不用写 name) ;必须使用 new 来创建对象6. 静态数据成员 static: 在类体 (Car) 中定义的时候privatestaticint sid = 0;在以后的 public static void main()中可以通过 Car.sid;或 者 Carmm; mm.sid;访问7. import 与 package package 位于程序开始 如 package com.bjsxt.java140; 并把生成相应的类放到相应的子目录下即 新建文件 combjsxtjava140,把类的.class 文件放在该目录下,就是打包了, 在 jdk1.5 以后类的.java 文

5、件可能也会影响,所以把.java 删掉。在以后的 类中调用时可以 com.bjsxt.java140.类名 =new 类名() ;或者用引入: importcom.bjsxt.java140.类名;或者 import com.bjsxt.java140.*8. 在 要 打 包 的 上 一 层 文 件 目 录E:javatest2jar cvf test2.jar 就能把 test2 目录下所有文件打包成.jar 文件 即 windows 下的压缩包。9. 继承权限:用关键字 extends.有 privateprotecteddefault public 而 private 继承 继承之后也没

6、有使用权,只有在定义 private 的类 中才可以使用;10.函数重写必须遵循函数名一样,参数类型,返回类型,也必须一致,并在重 写的函数体中增加相应的代码,不是重载;重写的函数不能比被重写的函数 有更严格的访问权限,至少一样。11.子类的构造方法中必须对基类的构造函数声明,在子类的构造 函数中首先写 super( );里面加参数,意思是调用基类的构造函数,若不写,系统默认调 用基类无参数的构造函数,若基类中没有无参数的构造函数,则编译出错;12.在构造函数中,前面可以加 public 也可以不加;在类与类之间“; ”可加可 不加,编译不会出错。在构造函数的入口参数设置是一定注意,与上面的初

7、 始化保持一致就好。13.object 类的定义,了解一下,其中有一个方法,toString 方法是返回一个 说明该类的说明,在 API 文档中查找,建议重写。关于 object 中,equals 方法返回值是 boolean,可以重写,public boolean equals(object obj) 内容自定义;在 main()中:System.out.println(c = = a); 或 者 System.out.println(a.equals(c)) ;一样用;字符串比较也一样,且不 为空才行。14.对象类型转换,如 Animal a = new Animal();Cat c =

8、new Cat();System.out.println(c instanceof a)/输出 true;也可以这样 a = new Cat();/基类强制转化为子类,可以,只是 a 不能访问 Cat 类中新定义的类型。可以这样访问新定义的类型。Cat d = (Cat)a;/ 用强制类型转化 基类为子类,然后转化后一样用。 /e:javatest2TestTeacherTestTeacher.java15.关于多态,一定要有继承,要有重写,要有父类指向子类的引用。动态联编 的实现是为了以后程序功能的扩展,而不改变源代码. /e:javateat2TestdongtaiTestLady.jav

9、a16.抽象类:若一个类中含有抽象和方法,则一定要把给类定义为抽象类,抽象 abstract 类似于 C+中的纯虚函数。Public abstract void enjoy();就没有 内部代码了。而且子类中的重写父类的那个方法一定要有 实现代码,否则报错。也可以再次把该函数声明为抽象类,这样编译不会出 错。但是就不能用该子类定义新对象,因为抽象类是残缺的。17.final 关键字中 final 的变量不能被改变,final 的方法不能被重写 , final 的类不能被继承。Publicfinal class String()/写法如下 final inti =9;18.interface 接

10、口设置,即为 C+中的多重继承 只是接口继承的时候不用关键 字 extends 而用 implements 可以用 implements A,B,C,D这是与 extends 不同地方。在子类中分别实现积累的代码,原基类就像抽象类一样, 其函数的设置在子类中实现的。 在本例中还涉及强制类型转换,可见性与不 可见性的问题,还涉及动态联编。从本质上讲接口是一种特殊的抽象类,这 种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。 /e:javatest2TestjiekouTestInterface.java19.Java 中关于异常处理机制,trythrowcatch 其中经常使用catc

11、h (ArithmeticException e) System.out.println(“系统正在维护,请与管理员联系“); e.printStackTrace();/其中 e 就像一个类的对象一样使用, e.printStackTrace();是打印出错的堆栈信息, 以便修正。 ArithmeticException 和 printStackTrace()是系统自己定义的。20.finally是一定执行的语句, catch 语句之后自动停止, 以后不再执行。 对所有异常处理,可以直接抛出 throws Exception 不 管 是 IoException 或是 NotFoundFileE

12、xception ;不想处理就继续抛出。方法重写必须与原来 的抛出的异常一致,不得是别的。但是不抛异常没有关系。Finally 语句进行资 源清除工作。21. 数组定义,也是引用,int s,或是 int s ;只是中括号内不能有数 字,区别于 c+;如: int a;/声明数组名字数组声明时不能指明长度 a = new int5;/动态分配空间在动态分布空间之后,a.length 自动记录数组的长度,以后可以直接调用。 22.ipconfig 在命令行可以显示 ip 地址, ipconfig-all 可以显示更详细的信息;23.在 main 函数中, (String args)的作用是把在命

13、令行执行时加的参数自 动保存在 agrs 数组里面;补充:在基本数据类型里面,可以通过 double.parsedouble( )把一个字符类型的变量转化为 double 类型。其他类型 类似,比如 intfloatbyte。 。 。 。 。 。 直接把3转化为 324.函数返回值类型可以是数组类型,public static Datebubblesort(Date a)returna;这样也是可以实现的。25.二位数组定义,初始化时,int a32=1,2,2,3,23,1; 是错误的,不能写 3 ,java 自动检查长度。26.关于 string,有很多种方法,就关于字符串的种种处理,大小

14、写处理,空格 处理 (trim) , 截取字符, 把字符分割成子串 (split) , 查找 API 文档。 Stringbuffer 是可变的字符序列,与不可变的 string 相比,更加具有优势,方法与其类似, 在执行效率上比较高。27. dij = Double.valueOf(sSecondj); 把字符串转化为 double 类型的 数据,调用 double 的方法,在前面加上 Double.一定不要少。包括二维数组 的定义使用,把两维分开来写。 /E:/java/test6/ArrayParser.java28.Math 类 java.lang.math 与数学相关的一些方法,Fi

15、le 与文件相关的方法, java.io.*; 文件的创建,File(String parent, String child) parent 代表路径,而 child 是要创建的文件名称。 f.getParentFile().mkdirs();/只是把对应的目录创建成功文件并没有生 成。/e:/java/test6/TestFile.java29.枚举类型规定只能取规定的值,其余的不允许取值,在游戏开发时多用,如: public enum mycolourred ,green ,blue; mycolour m = mycolour.red;访问时类似于静态成员变量的访问。可以提前发现 错误,

16、在编译时发现。容器: 30.List 与 SetMap: (都是接口) Set 的数据对象是没有顺序不可重复的 ,即重复的元素不会被加入集合。/e:javatest7TestSet.java List 的数据对象是有顺序可以重复的,自增了一些方法,见 API。Map是把数据成对成对地装入容器。Put 方法是 object 的原因是当放入的 key 已经存在时,原来的 value 被替换掉, 作为返回值返回。Get 方法返回的是 value. /e:javatets7TestMap.java31.iterator 是 collection 的一个接口,其作用是容器的遍历,其方法有 hasNext ,next , remove 具体用法是 Iterator i = c.iterator();/c 为 Collection c = new HashSet()

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号