1、了解
java语言的三大特性:
平台无关性、安全性、网络移动性
面向对象的特征:
封装、继承、多态
先了解基本数据成员在子类中的访问权限:
访问修饰符 | 同包子类 | 同包非子类 | 不同包子类 | 不同包非子类 |
---|---|---|---|---|
public(公共的) | √ | √ | √ | √ |
protected (受保护的) | √ | √ | √ | × |
默认(就是不写访问修饰符的时候) | √ | √ | × | × |
private(私有的) | × | × | × | × |
2、类和对象
类是模板,对象是实体;
对象的创建要分为哪几步:
1、为对象分配内存
2、递归的调用其超类的构造函数
3、进行对象实例初始化和变量初始化
4、调用合适的构造函数(默认的是无参的构造函数);(构造函数可以被重载,但不能被重写)
对象的创建有以下几种方式:
1、用new创建对象,例如:String s = new String("addb");
2、使用反射创建对象,例如:Object s2 = Class.forName("String");
3、调用对象的clone方法,这种方法不会调用类的构造函数。
4、使用反序列化的方法。
5、隐式创建,例如:String s3 = "abc";String s4 = s3+"def";
对象的销毁:
java语言通过垃圾回收机制(GC)来销毁对象,在程序代码中可以通过System.gc()
来强制运行垃圾回收器,java没有析构函数,当垃圾回收器确定不存在对该对象的更多引用时,将调用对象的finalize()
方法,可以重写类的finalize()
方法,以执行释放对象占用的系统资源或其他清除工作(派生类finalize()
方法中,需要显式的调用super.finalize()
),finalize()方法一般由垃圾回收器调用,我们一般避免调用。
封装:一种信息隐蔽技术,就是把属性私有化(拿private修饰属性),提供公共方法(public修饰的一系列set和get方法)访问私有属性。
初始化对象的四种方法:
1、提供一系列的get、set方法
2、提供合适的构造函数
3、静态块初始化 static { }
4、实例块初始化 { }
代码的初始化顺序
1、静态代码块
2、实例代码块
3、构造函数
注意:static修饰的(方法、数据成员)不依赖于对象,不能拿对象去调用。不管多少个对象,静态代码块只初始化一次。
3、各种变量在JVM中存储的位置
这个参考另一篇文章,变量和常量吧;