-
Notifications
You must be signed in to change notification settings - Fork 0
4 类
shuzi323 edited this page Apr 11, 2019
·
1 revision
- 一个文件只能有一个类是公共的,公共类必须与文件同名。
- 构造函数名和类名一样,支持重载。
- Data: java.util.Data Random: java.util.random; 或Math.random()
- static variable: 静态变量,储存在一个公共内存地址,所有同类对象共享,可变。相当于go的全局变量var,加
final相当于 const - 静态方法: 无需创建实例就可以调用。
- 实例变量、实例方法:即一个具体的对象里的变量和方法,不同的对象值和结果不同。不能直接用于静态方法和赋值给静态变量。需要实例化后方可使用在静态上。
- 不要从构造方法传入参数来初始化静态数据域,最好使用set方法
- **如果父类的属性是private,子类不能直接访问,需要用get, 用set来设置 **
- super()或super(...)显示的调用父类的构造方法,如果要使用它,必须放在子类构造方法的第一行。执行先后:父类构造方法->子类构造方法
- 子类的实例方法可以覆盖父类的,如果需要父类的这个方法的返回值,需要在这方法里用 super.父类该方法
- 静态方法不能被覆盖,如果子类定义了该方法,父类方法被隐藏,可通过SuperClassName.staticMethodName调用
- 覆盖是方法名和签名都相同。重载是方法名相同,签名不同。
- 多态:使用父类对象的地方都可以使用子类
- 声明类型和实际类型不同的情况:声明类型是实际类型的父类。但是当将父类转换为子类时,需要显示转换。
a instanceof B判断a是否是B的实例- 判断对象是否相等:public boolean equals(Object o)覆盖后可以写自己的判别方式
- protected修饰符: 允许子类访问定义在父类中的数据域或方法,不允许非子类访问。
- final修饰一个类表面不能扩展,不能作为父类,如Math;final修饰方法,方法不能被覆盖。