Java中的继承

Posted

tags:

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

继承基础知识

  1、关键字extends表示继承,如:

  class Student extends Person

  {

    …

  }

  继承关系是“is-a”关系。

  Java不支持多继承。

  在定义一个类的时候,如果没有显式指定该类的父类,那么该类就会继承于java.lang.Object类(JDK提供的一个类)。
 
   2、重写(名相同,返回类型、参数也要相同-----构造器不能被重写)

  超类中的方法可以在子类中重写,覆盖超类中的方法。

  如果覆盖了以后希望调用超类中的同名方法,用关键字super。


  注意:super和this引用不是一样的概念。super不是一个对象的引用,只是一个指示编译器调用超类方法的特有关键字。

  在覆盖一个方法的时候,子类方法不能低于超类方法的可见性。(访问修饰符:子类的大于等于父类)
    
    子类抛出的异常不能比父类多。
 
   3、构造器

  因为子类不继承超类的构造器方法,所以必须用super实现对超类构造器的调用。使用super调用构造器的语句必须是子类构造器的第一条语句。

  如果子类的构造器没有显式地调用超类的构造器,将自动调用超类的默认构造器(无参数的),如果超类没有默认构造器,而子类没有显式调用超类的其他构造器,则报错。



    4、public class Son extends Father{
              
     }
       public class TestMain{
               public static void main (String[] args){
                   Father father1 =  new Father();
                   Father father2 = new Son();//这样不会报错,father2就只能看见父类中的方法与属性(对于在子类中重写的
                                               //方法,father2在调用的时候,调用的是子类中的方法(覆盖))

以上是关于Java中的继承的主要内容,如果未能解决你的问题,请参考以下文章

一文带你吃透java中的继承

JAVA里 实现和继承的区别 说白话点 谢谢

Java学习个人备忘录之继承

java 关于继承中的super() 方法

Java中的继承

java中的继承关系