面向对象

三大特征

继承

单继承 ,子类自动拥有父类的所有成员(父类的私有成员子类用不了)即继承了其父类不是private的成员变量作为自己的变量,并且继承了不是private的方法作为自己的方法,继承过来的访问权限不发生改变
如果不在一个包中,子类继承父类的protected和public成员变量和方法,友好的不被继承
通过this super来调用方法
super(实参列表)调用父类的构造方法,父类的构造方法子类只能调用不能继承 。
final 继承到此为止 这个类最终类不再往下继承 既可以用于类也可以用于方法(用于保护当前类的私立性
通俗易懂的讲:子类继承了所有父类的特点,并发扬光大。

封装

封装的好处:1、隐藏类的实现细节。
2、迫使用户使用一个接口去访问数据。
3、使代码更好的维护,可以扩展
高内聚:类的内部数据操作细节自己完成,不允许外部干涉
低耦合:仅暴露少量的方法给外部使用

多态

多态存在的三个条件:要有继承,要有方法的重写,父类引用指向子类对象 (Animal dog = new Dog)
不同的对象收到同一消息后可产生完全不同的效果
重写:
1、这种现象存在于子类中。
2、子类中的方法、方法名、形参列表、返回值类型必须和父类方法一模一样。
3、子类方法的权限不能比父类低。
目的:
子类通过方法的重写可以隐藏继承的方法,子类通过方法的重写可以把父类的状态和行为改变为自己的状态和行为。
方法重载:
一个类中出现方法名相同,形参列表不同(参数的个数不同,或者参数的类型不同)的多个方法。一个类中有多个构造方法就是重载的体现。

你可能感兴趣的:(面向对象)