java的特性
java具有抽象、继承、封装、多态的特性。
抽象
抽象是具有相同属性和功能的对象的抽象的集合。
抽象的特征:
抽象类不能实例化;
抽象方法必须是被子类重写的方法;
如果类中包含抽象方法,那么类就必须定义为抽象类,不论是否还包含其他一般方法(注意抽象类和接口的区别)。
封装
每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖其他对象来完成自己的操作。
使用封装的好处:
良好的封装能够减少耦合;
类内部的实现可以自由地修改;
类具有清晰的对外接口。
继承
对象的继承代表了一种“is-a”的关系,如果两个对象A和B,可以描述为B是A,则表明B可以继承A。
继承定义了类如何相互关联,共享特性。继承的工作方式是,定义父类和子类,或叫做基类和派生类,其中子类继承父类的非private所有特性。
子类不当继承了父类的所有特性,还可以定义新的特性。
继承的特征:
子类拥有父类非private的属性和功能;
子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能;
子类还可以以自己的方式实现父类的功能(方法重写)。
多态
多态表示不同的对象可以执行相同的动作,但要通过它们自己的实现代码来执行。
多态的特征:
使用父类类型的引用指向子类的对象;
该引用只能调用父类中定义的方法和变量;
如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法(运行时绑订方法);
变量不能被重写(覆盖),“重写”的概念只针对方法,如果在子类中“重写”了父类中的变量,那么在编译时会报错。