对待这个java题目出现的问题,我已经Crazy!大神指点迷津!

不复青春 2019-05-16 11:17:56
题目:创建如下三个类:People类中有三个方法分别输出一些信息,ChinaPeople和AmericanPeople类重写父类People中的三个方法。 我的代码:package tang;

public class project {

public static void main(String[] args) {
People a = new AmericanPeople();
People b = new ChinaPeople();

a.loc();
a.SayHello();
a.SayBye();

b.loc();
b.SayHello();
b.SayBye();
}

public class People {
public void loc() {
System.out.println("I am come from America.");
}

public void SayHello() {
System.out.println("Hello,Nice to meet you.");
}

public void SayBye() {
System.out.println("Good Bye.");

}
}

class ChinaPeople extends People {
public void loc() {
System.out.println("我来自中国.");
}

public void SayHello() {
System.out.println("你好,很高兴遇到你.");
}

public void SayBye() {
System.out.println("再见.");

}

}

class AmericanPeople extends People {
public void loc() {
System.out.println("I am come from America.");
}

public void SayHello() {
System.out.println("Hello,Nice to meet you.");
}

public void SayBye() {
System.out.println("Good Bye.");

}

}


} 我代码出现的问题:如第一个图片。这个问题怎么会提示错误?就这个错误代码运行不了。我就奇怪了,第一个People a错,按道理那么第二个People b也应该错啊! 我又看了一下提示:错误提示如图二所示。但是看不懂,请问大神,该如何是好?我的代码哪里错了?这个错误啥意思?感谢你的回答,真的感谢!
...全文
201 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
不复青春 2019-05-18
  • 打赏
  • 举报
回复
引用 11 楼 WindyValley 的回复:
引用 10 楼 qq_44696912的回复:
[quote=引用 8 楼 qq_43382997 的回复:]你把大括号改到上面以后 这个public class people报错 你在把这个报错的类的public给去掉就可以了
大神,你好厉害,能告诉我为什么会这样子吗?
一个源文件里面只能有一个public修饰的类,而且类名与文件名相同。你把}挪到上面去之后,pubic class people就冲突了[/quote]
WindyValley 2019-05-17
  • 打赏
  • 举报
回复
引用 10 楼 qq_44696912的回复:
引用 8 楼 qq_43382997 的回复:
你把大括号改到上面以后 这个public class people报错 你在把这个报错的类的public给去掉就可以了
大神,你好厉害,能告诉我为什么会这样子吗?
一个源文件里面只能有一个public修饰的类,而且类名与文件名相同。你把}挪到上面去之后,pubic class people就冲突了
  • 打赏
  • 举报
回复
好吧 刚才没看你的异常栈 说的很明显 你的第一个project类包住了下面的三个类 就是最外层大括号括到People类上面
  • 打赏
  • 举报
回复
把你的父类的public去掉

赶路的香菇 2019-05-17
  • 打赏
  • 举报
回复
子类加个公共权限不就好了
nayi_224 2019-05-17
  • 打赏
  • 举报
回复
新手没必要研究这种内部类
		People a = new project().new AmericanPeople();
		People b = new project().new ChinaPeople();
还是建议你每个class都建一个新的文件
不复青春 2019-05-17
  • 打赏
  • 举报
回复
引用 8 楼 qq_43382997 的回复:
你把大括号改到上面以后 这个public class people报错 你在把这个报错的类的public给去掉就可以了
大神,你好厉害,能告诉我为什么会这样子吗?
不复青春 2019-05-17
  • 打赏
  • 举报
回复
引用 1 楼 nayi_224 的回复:
新手没必要研究这种内部类
		People a = new project().new AmericanPeople();
		People b = new project().new ChinaPeople();
还是建议你每个class都建一个新的文件
谢谢,谢谢,谢谢,你的方法很管用。
  • 打赏
  • 举报
回复
你把大括号改到上面以后 这个public class people报错 你在把这个报错的类的public给去掉就可以了
不复青春 2019-05-17
  • 打赏
  • 举报
回复
引用 4 楼 qq_43382997 的回复:
好吧 刚才没看你的异常栈 说的很明显 你的第一个project类包住了下面的三个类 就是最外层大括号括到People类上面
我听不懂,加了括号,错误确实没有了,但是新问题出现了,public class people 中people提示错误
不复青春 2019-05-17
  • 打赏
  • 举报
回复
引用 3 楼 qq_43382997 的回复:
把你的父类的public去掉
父类去掉了public还是没用,大哥大神,大哥,,
不复青春 2019-05-17
  • 打赏
  • 举报
回复
引用 2 楼 weixin_44957136 的回复:
子类加个公共权限不就好了
我加了,没用,大哥大哥da ge

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧