看这段程序,编译出来有问题,新手,见笑了

ninghuijuan 2013-02-26 02:21:30
class Animal{//动物类

public String name="haha";//名字

public void say() {//说话方法


System.out.println(name + "say hi");
}
}
class Cat extends Animal{//猫类继承了动物类

}
public class Test{

public static void main(String[] args) {

Cat cat=new Cat();//实例化一个猫

cat.say();//由于猫继承了动物,所以继承了他所有非private的属性和方法
}


学习继承的时候一个例子,在CMD下编译出来说类 Test是公共的,应在名为Test.java的文件中声明public class Test{
求指教?
...全文
248 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sffx123 2013-02-26
  • 打赏
  • 举报
回复
引用 7 楼 bluemoby 的回复:
文件文必须与public的类名字一致,这是龟腚
+1
十年彩虹 2013-02-26
  • 打赏
  • 举报
回复
类Animal:

public class Animal {
public String name = "haha";

public void say() {
System.out.println(name + " say hi!");
}

}


类Cat继承Animal:

public class Cat extends Animal {

}



测试类Test:

public class Test {
public static void main(String[] args) {
Cat cat = new Cat();
cat.say();
}

}


编译结果:
ninghuijuan 2013-02-26
  • 打赏
  • 举报
回复
明白了!真是非常感谢大家!
程序媛小李 2013-02-26
  • 打赏
  • 举报
回复
.java文件类名要和其中公有类的名字相同,这是Java的强制规定
evang_shot 2013-02-26
  • 打赏
  • 举报
回复
引用 5 楼 ninghuijuan 的回复:
引用 2 楼 AA5279AA 的回复:你把文件名改成Test.java就可以了。 为什么文件名是Animal.java 是错误的?
文件名必须与public class 旁边的这个类名一致哦
bluemoby 2013-02-26
  • 打赏
  • 举报
回复
文件文必须与public的类名字一致,这是龟腚
lvzg_005 2013-02-26
  • 打赏
  • 举报
回复
每个java文件只能有一个公共类,即public类,并且文件的命名必须和这个public类名保持一致,否则编译报错.看上述的代码貌似是写在一个文件中的,所以文件的命名应该为public类的名字即 Test.java
ninghuijuan 2013-02-26
  • 打赏
  • 举报
回复
引用 2 楼 AA5279AA 的回复:
你把文件名改成Test.java就可以了。
为什么文件名是Animal.java 是错误的?
evang_shot 2013-02-26
  • 打赏
  • 举报
回复
没有问题啊,好像就是掉了最后的一个大括号!!! 运行是没问题的。 LZ生成的3个class文件,你只需要运行Test.class文件即可!
abc41106 2013-02-26
  • 打赏
  • 举报
回复
楼上正解 把编译的文件改为Test.java再编译
失落夏天 2013-02-26
  • 打赏
  • 举报
回复
你把文件名改成Test.java就可以了。
rumlee 2013-02-26
  • 打赏
  • 举报
回复
Test类应该卸载文件名称为Test.java的文件中。

62,621

社区成员

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

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