我正在创建子类对象。我知道第一个调用父类构造函数。如果我想调用父类print方法,那么我使用'this.print()'但这不起作用。 请建议我如何在不创建父类对象的情况下调用父类print()方法... 谢谢你提前。
public class Test
{
public static void main(String[] args)
{
Child Child = new Child();
}
}
class Parent
{
void print()
{
System.out.println("parent class print method");
}
Parent()
{
this.print();
}
}
class Child extends Parent
{
void print()
{
System.out.println("child class print method ");
}
}
答案 0 :(得分:5)
constructor
中的您可以调用超类方法,如:
super.print();
请参阅java docs
public class Superclass {
public void printMethod() {
System.out.println("Printed in Superclass.");
}
}
public class Subclass extends Superclass {
// overrides printMethod in Superclass
public void printMethod() {
super.printMethod();
System.out.println("Printed in Subclass");
}
public static void main(String[] args) {
Subclass s = new Subclass();
s.printMethod();
}
}
答案 1 :(得分:1)
要调用任何父方法,请使用super
。这也适用于构造函数:
class Child extends Parent
{
void print()
{
System.out.println("child class print method ");
}
Child() {
super.print(); // parent print method
this.print(); // child print method
}
}
答案 2 :(得分:0)
“this”关键字指当前类,“super”关键字指其分别扩展或实现的父类或接口。
答案 3 :(得分:0)
通过回答我的问题,明确我的概念..
public class Test
{
public static void main(String[] args)
{
Child Child = new Child();
}
}
class Parent
{
void print()
{
System.out.println("parent class print method");
}
Parent()
{
this.print();
}
}
class Child extends Parent
{
void print()
{
super.print();
}
}
输出:
parent class print method