- 通过作用域控制属性和方法可访问性
- 将属性设置为private,通过getter和setter进行访问
e.g.
private int age; //age为私有变量,外部不可直接访问
//getter,通过该方法返回age,避免直接访问age
public void getAge(){
return age;
}
//setter,通过该方法设置age,避免直接设置age
public void setAge(int age){
self.age = age;
}
- 限定参数取值范围
e.g.
public void setAge(int age){
//对age的范围进行限制
if(age < 0){
age = 0;
}else{
self.age = age;
}
}
继承
包含父类非private的所有属性和方法,并可扩展自己的方法
声明
class 类名 extends 父类{
…
}
限制
- 不能继承私有成员
- 只能单继承
调用
在初始化子类时,会先调用父类的构造方法
重写(Override)
父类的某方法无法满足要求时,可重写该方法。
声明
该方法的声明需与父类的返回类型相同,参数相同,作用域不小于父类该方法的作用域。(private<default<public)详见作用域
super
调用父类的某方法
e.g.
super.hello();//调用父类的hello方法
注意与重载的区别
多态
在继承的基础上,对父类的某个方法进行自定义重写,这样对于调用它的方法来说,只需要将参数设置为该父类即可
转型
向上转型
将子类转为父类,自动转型
父类 对象名 = 子类对象
向下转型
将父类转为子类,需强制转换,只有曾经是该子类才能转换
子类 子类 = (子类)父类对象
instanceof
确定该对象是不是某类
本文来自投稿,不代表程序员编程网立场,如若转载,请注明出处:http://www.cxybcw.com/188864.html