怎样用dos命令执行以下代码?这段代码放在一个java文件,编译后产生两个class文件,但执行时却报错,为什么?编译看父类,执行看子类是怎样理解的?

qq_24229815 2017-09-13 04:49:52
class Super
{
int i=0;
public Super(String a)
{
System.out.println("A");
i=1;
}
public Super()
{
System.out.println("B");
i+=2;
}
}
class Demo extends Super
{
public Demo(String a)
{
//super();
System.out.println("C");
i=5;
}
public static void main(String[] args)
{
int i=4;
Super d=new Demo("A");
System.out.println(d.i);
}
}
...全文
266 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这个应该在学HelloWorld时就应该知道的,main方法得写在public 修饰的类中。因为编译器只会从public修饰的那个类去找main方法,当找不到时就会给你报“找不到或无法加载主类”这个错误
qq_24229815 2017-09-14
  • 打赏
  • 举报
回复


为什么还是不行
110成成 2017-09-13
  • 打赏
  • 举报
回复
class Demo extends Super 改成 public class Demo extends Super 然后文件名为Demo.java 就可以执行了。
zycxnanwang 2017-09-13
  • 打赏
  • 举报
回复
其实楼上两位都说的是一个事, java文件中只能有一个public类,并且类名必须与文件名相同 看楼主demo类有 main方法,在class Demo前加个public关键字
qq_24229815 2017-09-13
  • 打赏
  • 举报
回复
文件名是super,怎么能在demo前加public?
海角之约 2017-09-13
  • 打赏
  • 举报
回复
主类Demo前应有public修饰

62,628

社区成员

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

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