java面向对象特征

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java面向对象特征相关的知识,希望对你有一定的参考价值。

(1).抽象:把需要用到的重要的东西抽出来,不重要的东西忽略掉。

 

(2).继承:子类继承父类的非私有成员,重用具有相同的属性,当父类方法满足不了时,重写父类不具有的特征属性,方法结构保持与父类一致。(既能重用也能有自己的实现)。

继承的优点:代码的可重用性

使用继承时会产生一个关键字super. 当创建子类对象时,先调用父类的构造方法,再调用子类的构造方法。子类构造方法第一句话第一行一定有super();即调用父类构造方法,此时如果父类中的构造方法中有参数则必须要在super(参数1,参数2....................)Super关键字使用方法2super.move(),此时super指父类的对象。

问:在不同点更多的时候,为什么还要用继承?

 

(3)多态性:

方法多态(重载,重写)

对象多态:

(容纳性更广)向上转型:

意义:应用场景一般有两种,一个是父类对象作为返还值类型,一个是父类对象作为方法形参,会遗失子类中特有而父类中没有的方法。

比如student类继承自person类,那么可以这样写。
Person person = new Student();
这就是向上转型,不用进行强制转换,但是可能会造成精度的丢失。
因为这是person对象,不能调用子类student中有而父类person中没有的方法和属性。

至于好处,也就是多态的好处,应用场景一般有两种,一个是父类对象作为返还值类型,一个是父类对象作为方法形参,比如studentteacher都继承自person,两个类中都复写了父类中的work方法,你可以这么写:
public void test(Person person){
       person.work()

}
如果传入的是student对象,那么执行的work方法就是student类中的work方法,如果是teacher就是teacherwork方法,当你不确定会执行哪个的时候,就可以这么写,不然就要写两个方法,一个方法参数是student一个方法参数是teacher。

(4).封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。

以上是关于java面向对象特征的主要内容,如果未能解决你的问题,请参考以下文章

java面向对象的三大特征?

Java中面向对象的三大特征是啥?

Java面向对象编程三大特征 - 多态

Java面向对象编程三大特征 - 封装

Java 大厂面试必刷题 Day1:何为面向对象编程的思想?面向对象三大特征是什么?

Java 大厂面试必刷题 Day1:何为面向对象编程的思想?面向对象三大特征是什么?