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

java-继承

时间:2019-01-05 16:37:18      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:作用   image   调用   忘记   技术分享   实例化   src   技术   规则   

java——三大特性之继承

一、继承的含义及作用

在写java代码的时候,常常会出现一些相同或者类似的类,里面有着差不多的属性和方法。为了避免代码冗余,于是我们将这些差不多的类进行了一个操作——继承。

技术分享图片

如上图,

哺乳动物 和 卵生动物 继承了 动物类(父类),可以获得父类所有的属性和方法(私有属性和构造方法除外)

猫类 和 人类 在继承了哺乳动物后,不仅获得了父类里的属性和方法,还额外自主的添加了新的属性和方法(子类自己的属性和方法,不关父类的事)

鸟类 和 蛇类 在继承了卵生动物后,可以重写父类的方法(方法名,修饰符,返回值都相同,只有方法体不一样)

当我们实例化卵生动物(子类)时,动物类(父类)先进行实例化,子类实例化时先实例化其父类,然后实例化子类。(想要使用子类,父类必须先被创建)

 

二、super 与 this

由于 子类 不能继承父类中的 构造方法 和私有属性,而我们又想进行使用时。

super. 可以使用到父类的普通方法,想获取父类的私有属性,则使用父类的get方法(注意是super丶不要忘记了小数点)

this. 指向本类的引用,调用本类的方法和属性

super()

  • 调用父类的构造器
  • super只能出现在构造器中,并且只能为第一行
  • 父类有多个构造器时,super()括号中传入的实参,决定了调取父类中的哪个构造器
  • 子类构造器会默认添加super(),调取父类无参的构造器。所以,当父类没有空构造器时,程序将会报错。

this()

  • 调用本类的构造器
  • 只能写在构造器中,并且只能为第一行

注意:this() 和 super() 不能出现在同一个构造器中

三、方法的重写(覆盖)

当 子类 继承 父类后,往往子类的 方法 更加的清晰,所以我们将更改 父类 的方法,将 父类 继承下来的方法 更加具体的实现;

重写父类方法的规则

  • 相同的方法名
  • 相同的参数列表(参数数量、参数类型、参数顺序都要相同)
  • 相同的返回值类型
  • 子类覆盖方法的访问权限要不小于父类中被覆盖方法的访问权限(public > protected > default > private)

在重写方法上,可以使用 @Override 注解来标明是重写方法。当然也可以省略,但为了代码可读性,建议保留。

@Override 可以验证是否是父类的方法。如果不是,将会报错

java-继承

标签:作用   image   调用   忘记   技术分享   实例化   src   技术   规则   

原文地址:https://www.cnblogs.com/whc0305/p/10224842.html

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