码迷,mamicode.com
首页 > 编程语言 > 详细

java面向对象特征

时间:2016-06-22 20:35:54      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:

(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面向对象特征

标签:

原文地址:http://www.cnblogs.com/xiao139/p/5608237.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!