Java面向对象之继承

Posted

tags:

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

1 继承:Java是的单继承,意味着一个类只能从一个类继承(被继承的类叫做父类【基类】),Java中的继承使用extends关键

2.当生成子类对象时,Java默认首先调用父类的不带参数的构造方法,然后执行该构造方法,生成父类对象。接下来,再去调用子类的对象,【要想生成子类的对象,首先需要生成父类的对象,没有父类对象就没有子类对象。比如说:没有父亲,接没有孩子】

3.super关键字:super表示对父类对象的引用

4.如果子类使用super()显示调用父类的某个对应的构造方法而不会再去寻找父类的不带参数的构造方法与this一样,super也必须要作为构造方法的第一条执行语句,前面不能有其他的可执行语句

5.关于继承的三点:

  1.父类有的,子类也有

  2.父类没有的,子类可以增加

  3.父类有的,子类可以改变

6.关于继承的注意事项

  1.构造方法不能被继承

  2.方法和属性可以被继承

  3.子类的构造方法隐式地调用父类的不带参数的构造方法

  4.当父类没有不带参数的构造方法时子类需要使用super来显式调用父类的构造方法,super指的是对父类的引用

  5.super关键字必须是构造方法中的第一行语句

7.方法重写又叫做覆写:子类与父类的方法返回类型一样,方法名称一样,参数一样,这样我们说子类与父类的方法构成了重写关系

8.方法重写与方法重载之间的关系:重载发生在同一个类内部的两个或多个方法,重写发生在父类与紫烈之间的关系

9.当两个方法形成重写关系时候,可以在子类方法通过super.run()形式调用父类的run方法,其中super.run()方法不必放在第一行语句,因为此时父类对象已经构造完毕,先调用父类的run方法还是先代用子类的run方法是根据程序的逻辑实现的

       

class Animal{

public void run(){

System.out.println("animal is running");

}

}

class Dog extends Animal{

public void run(){

super.run();

System.out.println("dog is running");

}

}

public class InheritenceTest2 {


public static void main(String[] args) {

// TODO 自动生成的方法存根

        Dog dog = new Dog();

        dog.run();

}


}

9.在定义一个类的时候,如果没有显式制定该类的父类,那么该列就会继承java.lang.Object类(JDK提供的一个类Oject类是Java中的所有类的直接或者间接的父类)


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

java面试准备之面向对象

Java学习面向对象之继承

java面向对象之继承

Java面向对象一(封装 继承 多态 类 对象 方法)

面向对象三大特征之二:继承

Java面向对象之继承