面向对象三大特征
1. 封装
是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问而是通过类提供的方法实现类内信息的操作和访问。
可以通过JAVA中的访问控制符来实现。
2. 继承
实现复用。
JAVA中,通过extends
实现继承;
每个类只有一个直接父类;
java.lang.Object是所有类的直接 / 间接父类;
子类获得父类的全部属性和方法(除了构造方法),但是子类仍然可以声明和父类里同名的属性或方法(重写),此时的父类中定义的的变量都背隐藏起来了,通过super.
访问或调用。
3. 多态
编译时类型和运行时类型不一样。如:
class BaseClass{
}
public class SubClass extends BaseClass{
·
·
·
public static void main(String[] args){
BaseClass poly = new SubClass();//这里多态发生
}
}
编译时是BaseClass,运行时是SubClass。当运行时调用该引用变量的方法时,其方法总是表现出子类方法的特征,这就导致:
相同类型的变量在运行时调用同一个方法呈现出多种不同的行为特征,这就叫多态。
方法重载(overload)和方法重写(override):
重载主要发生在同一个类中的同名函数之间。
重写是子类和父类之间的同名方法之间。