java子类继续父类,怎么调用父类里面的方法?

Python014

java子类继续父类,怎么调用父类里面的方法?,第1张

通过super调用父类的方法\x0d\x0a举例:\x0d\x0apublic class Father{//定义父类\x0d\x0a public void s(){//定义父类的方法s\x0d\x0a }\x0d\x0a}\x0d\x0apublic class Son extends Father{//定义子类son,继承父类father\x0d\x0a public void s(){//定义子类的s方法,覆盖了父类的s方法\x0d\x0a super.s()//通过super调用父类的s方法\x0d\x0a }\x0d\x0a}\x0d\x0a补充:\x0d\x0aJava中,在继承关系中,super指向当前对象里面的父对象。

对于有继承关系的类,子类可以通过这个关键字调用父类中的方法。

比如:super.query()

此句话的意思是调用父类中的非私有方法query。

一般的用super关键字,调用类中的父类中重载构造方法。

比如:父类有个构造方法public

A(){},同时又写了一个重载的构造方法public

A(String

name)那么,在子类中可以使用super(name)指明调用父类的哪个构造方法进行实例化父类对象。

大概就是这样的!

1、如果是多态,只能通过super的方式调用基类方法,具体决定于父类是否覆盖了父类的父类方法,如果父类的方法覆盖了父类的父类,则super无法调用到父类的父类方法。如果父类的方法没有覆盖父类的父类,则super可以调用到父类的父类方法。

public class A{//定义类A

    public void show(){

    }

}

public class B extends A{//定义子类B,继承类A

    public void show(){

      super.show()//调用父类A的方法show

    }

}

2、如果不是多态,则可以直接访问方法名就能够访问到父类的父类方法

public class A{//定义类A

    public void show(){

    }

}

public class B extends A{//定义子类B,继承类A

    public void me(){

      show()//调用的是父类A中定义的show方法

    }

}