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

importjava.io.*;classParent{voidprintMe(){System.out.println("parent");}}classChildex... 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
当然是小写!要按什么顺序读这个程序?为甚么只打出那三个单词?
展开
 我来答
百度网友c18b20624
2008-11-03 · TA获得超过411个赞
知道小有建树答主
回答量:425
采纳率:0%
帮助的人:491万
展开全部
从最后的Class1类开始,创建Child类的对象,对象名为myC,引用对象myC的方法printAll(),由于Child类是Parent派生的子类,在Parent的子类Child是定义了一个和父类同名的方法printMe(),覆盖了父类的printMe()方法,用super.printMe();是为了调用父类的同名方法,在此先输出parent

接着运行,this.printMe();语句,this表示是当前类,就是调用自己定义的printMe()方法,输出child

然后调用printMe();方法,如果调用的时候没有声明是调用父类的方法,则默认为是调用当前类的方法,所以输出child

本人也是菜鸟,不知道这么说你懂不懂。
十分钟才注册好
2008-11-03 · TA获得超过536个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:119万
展开全部
你的主程序里调用的是printAll()函数,
printAll()函数里:
super.printMe(); //super是代表父类,引用的是父类对象的printMe函数,打印出parent
this.printMe(); //this代表当前对象,引用当前对象的printMe函数,打印出child
printMe(); //什么都不写就是引用当前对象的printMe函数,打印出child
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花招招手引神0
2008-11-03
知道答主
回答量:49
采纳率:0%
帮助的人:18.2万
展开全部
首先简单介绍下这几个类之间的关系:
1.首是一个父类Parent有一个printMe()方法
2.子类Child 继承自父类Parent重写了它的printMe()方法,还自带了printAl()方法其内:super.printMe(); super关键字指调用了父类的方法printMe(),this.printMe(); 和printMe(); 都是调用子类的printMe()方法,其结果是一次调用父类方法,两次调用子类方法
3.main方法中测试调用其子类的printAll( ); 方法,也就是一次调用父类的方法,两次调用子类的方法,其结果当然就是打印:parent
child
child
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
villion571
2008-11-03 · TA获得超过162个赞
知道小有建树答主
回答量:99
采纳率:0%
帮助的人:0
展开全部
class Parent
{
void printMe() // 第4步,进入printMe方法
{
System.out.println("parent"); // 第5步,输出:parent
}
}
class Child extends Parent
{
void printMe()
{
System.out.println("child");//
}
void printAll() // 第2步,进入Child类中的printAll方法
{
super.printMe(); // 第3步,使用super关键字调用父类Parent 中的printMe方法
this.printMe(); // 第6步,使用this关键字调用子类Child的printMe方法,输出child
printMe(); // 第7步 ,调用子类Child的printMe方法,输出child
}
}

public class Class1
{
public static void main(String args[ ])
{
Child myC = new Child( );
myC.printAll( ); // 第1步,程序入口。调用 Child类的父类中的printAll方法
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e69cb3324
2008-11-03
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
程序首先调用super.printMe(),即父类的printMe()方法而输出parent,然后读取this.printMe(),也就是自身的方法printMe()而输出child,最后调用printMe(),因为类Child继承Parent类,他的 printMe() 方法重载覆盖了父类的printMe()方法,所以最后输出child
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式