Posted on 2005-01-16 18:32
tedazf 阅读(1145)
评论(3) 编辑 收藏 所属分类:
JAVA
最近刚开始学Java,找了一些视频文件,看了翁恺的和孙鑫的,觉得还算不错,自己边学边记录下一些重点,方便自己以后的查阅,下面这些不是简单的抄笔记,而是自己消化了之后从新组织的语言,力求简洁易懂!有了问题我还会修改的。
引用
Java中的对象定义都是定义为一个引用,其本身并不存储对象的数值,只是存储指向对象内存块儿的指针,其本质就是不能运算的指针。
Break 跳出双层循环
格式:break 标号
具有部分goto语句功能,用于跳出循环,尤其是双层循环。
This关键字
this关键字可以为已调用了其方法的那个对象生成相应的句柄,即调用这个函数的那个对象就是this。this可以在一个构造函数中调用另一个构造函数,但只能调用一个。
af ( int a ){} //构造函数1(即被调用的构造函数)
af ( int a , String b){ this(a); } //构造函数2
finalize() 在运行垃圾回收器之前运行的函数
静态的东西属于类,动态的东西属于对象。
对象初始化的顺序
1. 创建一个对象时,先要找到其对应的.class文件。
2. 检查对象是否有父类。如果有父类,则需要执行父类中的静态初始化。
3. 执行类自己本身的静态初始化。
4. new语句首先会在内存内分配一个足够的空间,且全部清0。
5. 依次执行父类中的定义初始化和构造函数。
6. 依次执行父类中的定义初始化和构造函数。(完成)
静态初始化块
static{ c1 = new cpu(1);
c2 = new cpu(2); }
定义初始化(用于无名类的构造函数)
{ c1 = new cpu(1);
c2 = new cpu(2); }
每个编译单元都是以.java为结尾的文件,在一个编译单元里,只可以有一个public类,且这个类的名字必须与原文件的文件名相同。
类的访问说明符
1. public: 界面访问
2. private: 不能接触
3. protect: 某种友好
4. friengly: 缺省包
静态的成员变量由父类和子类共同使用,其他变量则各有一套。
绑定
动态绑定(Java常用):在程序的运行中才决定要执行的函数为哪一个函数,优点是使用灵活,缺点是执行效率低。
静态绑定(C/C++常用):在程序运行之前就已经确定需要执行的函数,有缺点与动态相反。
Final
final的成员变量:只可赋值一次,有时会用作Java中的常量。
final的函数变量:防止继承者改变其实现。
final的类:不可继承。
抽象类和抽象方法
n 抽象类作用仅是表达接口,其所有方法都是没有函数体的声明,且不能产生对象。
n 包含一个抽象方法的类就是一个抽象类。
n 没有抽象方法的类也可以是一个抽象类。
n 从抽象类中继承的类必须覆盖所有的抽象方法,否则仍是一个抽象类。
接口
n 接口是一个所有方法全是抽象方法的类。
n 接口可以继承,且可以实现多继承,但只可以从接口中继承。
n 无论是否声明,接口中的所有方法全是public的,所有成员变量全是public static final的,其变量的值都需在编译前确定。
n 一个类可以在继承其他类的同时实现多个接口。
内部类(inner class)
n 内部类就是就是写在类中(甚至写在类内函数中)的类,其基本等同于类内的成员函数,包括可以加访问说明符、可以访问私有变量等特性。
n 源文件编译后,内部类将成为独立的.class文件。
n 私有内部类往往用于提供接口的同时隐藏自己的实现细节。
图1