1.继承
继承是从已有类得到继承信息创建新类的过程。继承提高代码重用性。关于私有属性,官方文档解释:子类不能继承父类的私有属性,但是如果子类中有公共方法操作父类私有属性,则表现出子类可以使用父类的私有属性。
注:继承关系不可滥用,例如:java.util包下Properties类直接继承Hashtable,这就是对继承关系的滥用。这里服用代码的方式应该是Has-A而不是Is-A。另一个方面,容器都属于工具类,继承工具类本身就是一个错误做法。试用工具类最好方式是Has-A关联关系或者Use-A依赖关系。
2.封装
隐藏细节,把数据和操作数据的方法绑定起来,对外提供接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。一个方法就是一次封装,不关注方法实现,只关注输入输出结果。
3.多态
通俗来讲,用同样的对象引用调用同样的方法但是做了不同的事情。多态就是同一个接口,使用不同的实例而执行不同的操作。
多态实现的条件:
- 继承
- 重写
- 向上转型
多态体现:父类引用变量可以指向子类对象,在使用多态后的父类引用变量的子类调用方法时,会调用子类重写后的方法。
多态特点:
1.多态成员变量:编译运行看左边(成员变量只能取到父类的值)
Fu f = new Zi();
System.out.println(f.num);//只能取到父类中的值
2.多态成员方法:编译看左边,运行看右边
Fu f = new Zi();
System.out.println(f.show());//f的门面类型是Fu,但实际类型是Zi,所以调用的是重写后的方法
4.补充:抽象
将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象。抽象具有通用型,抽象只关注对象有哪些属性和行为,并不关注行为细节。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227363.html原文链接:https://javaforall.net
