求助!不知是哪里错了!?

hhx_2 2016-12-29 12:52:11
...全文
217 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
把完整代码贴出来
hhx_2 2016-12-29
  • 打赏
  • 举报
回复
又有一个问题了.....
hhx_2 2016-12-29
  • 打赏
  • 举报
回复
引用 10 楼 LinBilin_ 的回复:
[quote=引用 6 楼 hhx_2 的回复:] 为什么一定要改文件名?改public class 后面的 类名就不行呢?
因为你的Father.java里面有一个不是public的Father类了,也就是你里面已经有一个class Father,而文件名又是Father.java。所以你就得改文件名咯。原因是一个.java文件里面只能有一个public类,且这个类的名字要和文件名一样[/quote] 谢谢啦!现在改好啦!
  • 打赏
  • 举报
回复
引用 6 楼 hhx_2 的回复:
为什么一定要改文件名?改public class 后面的 类名就不行呢?
因为你的Father.java里面有一个不是public的Father类了,也就是你里面已经有一个class Father,而文件名又是Father.java。所以你就得改文件名咯。原因是一个.java文件里面只能有一个public类,且这个类的名字要和文件名一样
hhx_2 2016-12-29
  • 打赏
  • 举报
回复
可以了!谢谢大神们!!
eueng333 2016-12-29
  • 打赏
  • 举报
回复
去掉public
点头顽石 2016-12-29
  • 打赏
  • 举报
回复
一个java文件中可以有多个Java类 但Java文件名必须与public的class同名
hhx_2 2016-12-29
  • 打赏
  • 举报
回复
为什么一定要改文件名?改public class 后面的 类名就不行呢?
  • 打赏
  • 举报
回复

public class Pol_ex {
	public static void main(String[] args) {
		Father f1 = new Father(5);
		Father s1 = new Son(3);
		System.out.println(s1.fun());
		System.out.println(f1.fun());
		System.out.println(f1.fun(6));
		s1 = f1;
		System.out.println(s1.fun());
		System.out.println(f1.fun());
		System.out.println(f1.fun(6));
	}
}
Father s1 = new Son(3);
  • 打赏
  • 举报
回复
Father.java文件名改为Pol_ex public class 后面的 类名 要和文件名一致
hhx_2 2016-12-29
  • 打赏
  • 举报
回复
class Father{ int x; public Father(int x){ this.x=x; } public Father(){;} public int fun(){ int f=0; for (int i=1;i<=x;i++) f=f+i; return f; } public int fun(int x){ int f=1; for(int i=1;i<=x;i++) f=f*i; return f; } } class Son extends Father{ public Son(int a){ super(); } public int fun(){ int f=1; for(int i=1;i<=x;i++) f=f*i; return f; } } public class { public static void main(String[] args){ Father f1=new Father(5); Son s1=new Son(3); System.out.println(s1.fun()); System.out.println(f1.fun()); System.out.println(f1.fun(6)); s1=f1; System.out.println(s1.fun()); System.out.println(f1.fun()); System.out.println(f1.fun(6)); } }
jimmy_lee-0609 2016-12-29
  • 打赏
  • 举报
回复
JAVA中多态是这样表示的 Father f=new Son(); 你代码中f1是Father类型的,s1是Son类型的。你代码中的赋值就报错罗。

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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