上一节介绍了java的面向对象思想的类与对象。这一节是关于面向对象的特征,封装、继承与多态,还有一个特征——抽象会在下一节。
封装
1、定义
封装就是将类的数据与对数据的操作隐藏在内部,不允许外部程序直接访问,而是通过类提供的方法访问和更改。
就比如说,有个属性
int a;
你想在其他的类使用这个a,就先在该类里,写一个操作a的一个方法,别的类就可以通过这个方法去修改和获取a的值。
实现步骤:
通常是对一个私有的属性,提供公有的访问方法getter以及更改方法setter。
例如:
private int id;
private String Name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
2、访问修饰符
可以修饰属性和方法的访问范围。上述的private就是修饰符之一。通过设置访问范围限制不同包不同类对属性和方法的访问。访问限制如下:
访问修饰符 | 本类 | 同包 | 子类 | 其他 |
---|---|---|---|---|
private | √ | |||
默认 | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
继承
对于某类中的方法与属性,在另外的类还想用,且有一些自己的实现体现,可以通过继承实现。
java中继承是单继承。子类继承父类,可以重写父类的方法。
好处:子类直接拥有父类的所有属性和方法,实现代码的复用。
语法规则:
class 子类 extends 父类{
}
继承的初始化顺序
初始化父类再初始化子类,先执行初始化对象中属性,再执行构造方法中的初始化
方法重写
子类对继承父类方法不满意,可以重写继承的父类的方法的,调用时优先调用子类方法。其返回值类型,方法名,参数类型和个数都要与父类继承的方法相同。
多态
可以是对象的多种形态,也可以失忆方法的多种形态。
1.引用多态,父类的引用可以指向本类和子类对象;
2.方法多态,本类对象调用的方法是本类方法,本类的方法可以有不同的参数类型与参数名;
子类对象调用的方法是子类重写的方法或继承的方法。
重载与重写,就是方法多态的两种。
PS:支付宝搜“654656370”可领红包。