精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-01-27
最后修改:2010-01-28
大三第一学期Java课程期末复习笔记整理 (1)29.内部类 1.内部类可以声明为 private或是protected,但是,如果内部类是private的话,那么外部类之外 将无法访问这个内部类了。 2.内部类的创建方式只能“外部类.内部类”,无论是在外部类中里外,并且一定要在外部类对象的基础上:
OutClass oc = new OutClass(); OutClass.InClass oi = new oc.new InClass(); 3.内部类是static,创建方式:
OutClass.staticClass os = new OutClass.static(); 4.内部类中可以直接访问外部类的所有成员,包括private protected ,但不能通过内部类对象来访问外部类的成员。而外部类中无法访问内部类的成员,外部类的对象也不能访问内部类的成员。如下图所示 :
32.equals方法
默认: public boolean equals (Object obj){ return (this == obj); } 比较的是两个对象引用在内存中是否指向同一个对象。
33 .匿名类没有名称,也没有构造方法。
34.toString方法: 默认:所属类名@(一个无符号的十六进制数,一般是对象所在的内存地址)
35.“克隆” 1. newObject = oldObject.clone(); 这名话的意思是:将oldObject 复制到 一个新的内存地址中去,并让newObject的引用指向新的对象。 2.默认情况下,java中自定义的类都不具有克隆能力,必须实现Cloneable接口之后才行。否则会抛出异常:CloneNotSupportException。
36. 语句 obj instanceof A : obj是否是A类或其子类的对象。 对于float,方法返回的是四舍五入后的int值 对于double,方法返回的是四舍五入后的long值
39. String s1 = "Hello!";
String s2 = s1.concat("World");
有关字符串的方法,操作后不改变s1的值。
40.String中的一些方法
indexOf: String s = "My name is nileader";
int i1 = s.indexOf("na"); //i1 = 2;
int i2 = s.indexOf("is",3); //i2 = 8;
int i3 = s.lastIndexOf("ni",15); //i3 = 11;
substring(int begIndex, int endIndex)
没有endindex参数的时候,默认是从begIndex到结尾,如果有了这个参数,则是从begIndex到endIndex-1
41.有关String,始终记住: 1.String类对象是个常量,其值在创建之后不可改变。 2 .String类中的任何一个方法如果要修改String对象的值,都是创建一个包含修改结果的新的String对象并返回。
42.String s = "Hello"+"nileader"+"!"; 对于如上语句的执行,java编译器不会生成三个字符串后在给s,而是:
String s = new StringBuilder("Hello").append("nileader").append("!").toString();
43. 声明数组时,只声明 一个用来操作数组的引用,不分配实际内存大小,所以:
int[8] a; //这样的语句是错误的,在声明数组时是不可以指定数组的大小的
44.数组中要注意的一点是, Integer[] i = new Integer[3]; //此时,i 中每个元素都是null 复合类丰创建完其对象时,全天候元素均是null。
45.数组创建过程中:
length 代表的只是数组中可能存在的最大元素个数,并不是实际对象的个数。 46.有关Arrays的fill()方法。
这是因为,当fill方法操作的是一个复合类型时,那么实际上是将这个对象的引用赋给数组中待复制的元素。
说得通俗点:
以上程序的相关语句可以描述如下:
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 1843 次