帮我解释一道JAVA题目,详细点哦,我基础不好,谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/24 14:14:53
import java.io.*;
class Parent
{
void printMe()
{
System.out.println("parent");
}
}
class Child extends Parent
{
void printMe()
{
System.out.println("child");
}
void printAll()
{
super.printMe();
this.printMe();
printMe();
}
}

public class Class1
{
public static void main(String args[ ])
{
Child myC = new Child( );
myC.printAll( );
}
}
结果是,PARENT
CHILD
CHILD
当然是小写!要按什么顺序读这个程序?为甚么只打出那三个单词?

class Parent
{
// 5这里是第五步
void printMe()
{
System.out.println("parent");
}
}
class Child extends Parent
{
// 6,7两部都是这个方法
void printMe()
{
System.out.println("child");
}
// 3.接着程序从main方法来到这里
void printAll()
{
// 4父类的printMe()
super.printMe();

// 6本类的printMe();
this.printMe();

// 7本类的printMe()
printMe();
}
}

public class test
{
public static void main(String args[ ])
{
// 1.这里使程序执行的开始
// 常见Child的一个对象
Child myC = new Child( );
// 2.这里调用Child的printAll方法
myC.printAll( );
}
}

从最后的Class1类开始,创建Child类的对象,对象名为myC,引用对象myC的方法printAll(),由于Child类是Parent派生的子类,在Parent的子类Child是定义了一个和父类同名的方法printMe(),覆盖了父类的printMe()方法,用super.printMe();是为了调用父类的同名方法,在此先输出parent

接着运行,this.printMe();语句,this表示是当前类,就是调用自