java中的方法重写举例?

class People
{protected double weight,height;
public void speakHello()
{System.out.println("yayawawa");
}
public void averageHeight()
{heigth=173;
System.out.println("average height:"+height);
}
public void averageWeight()
{weight=70;
System.out.println("average weight:"+weight);
}
}
class ChinaPeople extends People
{代码1//重写public void speakHello()方法
//要求输出类似“你好,吃饭了吗”这样的汉语信息
代码2//重写public void averageHeight()方法
//要求输出类似“中国人的平均身高:173.0厘米”这样的汉语信息

代码3//重写public void averageWeight()方法
//要求输出类似“中国人的平均体重:67.34公斤”这样的汉语信息
System.out.println(ChinaPeople.speakHello+ChinaPeople.averageHeight+ChinaPeople.averageWeight);
public void chinaGongfu()
{System.out.println("坐如钟,站如松,睡如弓");
}
}
class AmericanPeople extends People
{代码5//重写public void speakHello()方法
//要求输出类似“How do you do”这样的英语信息
代码6//重写public void averageHeight()方法
代码7//重写public void averageWeight()方法
public void americanBoxing()
{System.out.println("直拳,勾拳");
}
}
class BeijingPeople extends ChinaPeople
{代码9//重写public void speakHello()方法
//要求输出类似“您好”这样的汉语信息
代码10//重写public void averageHeight()方法
代码11//重写public void averageWeight()方法
public void beijingOpera()
{System.out.println("京剧术语");
}
}
public class Example
{public static void main(String args[])
{ChinaPeople chinaPeople=new ChinaPeople();
AmericanPeople americanPeople=new AmericanPeople();
BeijingPeople beijingPeople=new BeijingPeople();
ChinaPeople.speakHello();
americanPeople.speakHello();
beijingPeople.speakHello();
chinaPeople.averageHeight();
americanPeople.averageHeight();
beijingPeople.averageHeight();
chinaPeople.averageWeight();
americanPeople.averageWeight();
beijingPeople.averageWeight();
chinaPeople.beijingOpera();
americanPeople.americanBoxing();
beijingPeople.beijingOpera();
beijingPeople.chinaGongfu();
}
}

这个程序如何填写代码,我对那个重写的方法不了解,望有心人士能够为我解答,谢谢啦!
public void speakHello(){System.out.println("你好,吃饭了吗");}这样填写代码的话是很简单,但是编译的时候编译系统出错,错误是说那条代码“没有标识符”,这又怎么解释呢?

方法重写就是子类的方法覆盖了父类的方法,即子类的方法名和父类的方法名相同

class People

{
protected double weight,height;
public void speakHello()
{
System.out.println("yayawawa");
}
public void averageHeight()
{
height=173;

System.out.println("average height:"+height);
}
public void averageWeight()
{
weight=70;

System.out.println("average weight:"+weight);
}
}
class ChinaPeople extends People
{
//代码1//重写public void speakHello()方法
// 要求输出类似“你好,吃饭了吗”这样的汉语信息
public void speakHello()
{
System.out.println("你好,吃饭了吗");
}

//代码2//重写public void averageHeight()方法
//要求输出类似“中国人的平均身高:173.0厘米”这样的汉语信息
public void averageHeight()
{
System.out.println("中国人的平均身高:173.0厘米");
}

//代码3//重写public void averageWeight()方法
//要求输出类似“中国人的平均体重:67.34公斤”这样的汉语信息
public void averageWeight()
{
System.out.println("中国人的平均体重:67.34公斤");
}
//System.out.println(this.speakHello()+this.averageHeight()+this.averageWeight());
public void chinaGongfu()
{
System.out.println("坐如钟,站如松,睡如弓");
}
}
class AmericanPeople extends People
{
//代码5//重写public void speakHello()方法
//要求输出类似“How do you do”这样的英语信息
public void speakHello()
{
System.out.println("How do you do");
}
//代码6//重写public void averageHeight()方法
public void averageHeight()
{
System.out.println("How do you do");
}
//代码7//重写public void averageWeight()方法
public void averageWeight()
{
System.out.println("How do you do");
}
public void americanBoxing()
{
System.out.println("直拳,勾拳");
}
}
class BeijingPeople extends ChinaPeople
{
//代码9//重写public void speakHello()方法

//要求输出类似“您好”这样的汉语信息
public void speakHello()
{
System.out.println("您好!");
}

//代码10//重写public void averageHeight()方法
public void averageHeight()
{
System.out.println("您好!");
}

//代码11//重写public void averageWeight()方法
public void averageWeight()
{
System.out.println("您好!");
}

public void beijingOpera()

{
System.out.println("京剧术语");

}
}
public class Example

{
public static void main(String args[])

{
ChinaPeople chinaPeople=new ChinaPeople();

AmericanPeople americanPeople=new AmericanPeople();

BeijingPeople beijingPeople=new BeijingPeople();

chinaPeople.speakHello();

americanPeople.speakHello();

beijingPeople.speakHello();

chinaPeople.averageHeight();

americanPeople.averageHeight();

beijingPeople.averageHeight();

chinaPeople.averageWeight();

americanPeople.averageWeight();

beijingPeople.averageWeight();

beijingPeople.beijingOpera();

americanPeople.americanBoxing();

beijingPeople.beijingOpera();

beijingPeople.chinaGongfu();

}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-03
简单点说,方法重写也成方法覆盖,指的是子类或者实现类去覆盖父类的方法,
是多态性的一种体现。

具体做法就是,方法特征不变(访问级别,方法名,参数,返回类型,),方法体(两个大括号这件的部分)变;

比方父类人有一个尿尿方法,子类男人是站着尿尿,子类女人是蹲着尿尿。

父类的尿尿方法是这么写的

public void niaoNiao(){

System.out.println("我要去厕所尿尿");
}

子类男人的尿尿方法是这么写的

public void niaoNiao(){

System.out.println("我要去男厕所站着尿尿");
}

子类女人的尿尿方法是这么写的

public void niaoNiao(){

System.out.println("我要去女厕所蹲着尿尿");
}

就是这么简单的。
第2个回答  2008-10-03
重写嘛。就是重写写你父类中的方法,和写普通方法没什么区别,就是在用这个类的时候分清楚是用子类和父类就可以了。代码1//重写public void speakHello()方法
//要求输出类似“你好,吃饭了吗”这样的汉语信息
就直接写public void speakHello(){System.out.println("你好,吃饭了吗");}这样就可以了,没什么特别的。本回答被提问者采纳
第3个回答  2008-10-03
在子类中写一些和父类中一模一样的方法,这就是重写了.就叫得写了父类的这些方法.
相似回答