The public type Thread2 must be defined in its own file 到底是什么意思??

java中前面出现一个类 ,后面再定义类时总是不合法 比如:我已经定义了一个类Computer 在定义一个类Game 它就说公共类型Game 必须在它自己定义的文件夹中定义:

java的规范:一个java文件中有且只能有一个声明为public的class,例如同一个文件中写:
public class Computer{
.....
}
public class Game{
   ....
}
这样是不行的,除非你写两个java文件:一个Computer.java 一个Game.java
但是注意它的规范:“个java文件中有且只能有一个声明为public的class”,也就是说,只要有一个是声明为public的就行了,另一个不为public是合法的,像这样:
public class Computer{
.....
}
class Game{
   ....
}
这样的话,你必须将此文件取名为Computer.java(注意大小写,文件名必须和声明为public的class的类名完全一致。)
package test;
public abstract class TestAbstractDemo {
public abstract void hello();
}
class Foo extends TestAbstractDemo{
public void hello() {
System.out.println("hello");
}
}
这样是可以的。但是你把Foo类前面加了public就出现了你之前那个错。就算是继承,他也是来源于他的父类的。只能写一个public,而且这里你的Foo类不止不能写public,protected..也不行。因为抽象类只能是public ,abstract 或者final , - - 我觉得你这个问题应该就是这里不对,给你个建议,下次再出现问题了就自己动手稍微改改就知道错哪了,错的多了你也就熟能生巧了,因为我一开始也是这样。
这时,另一个类Game就是一个内部类了(也就是说Game这个类只能在Computer.java这个文件里面使用,外面的其它的类是不能进行访问的。)
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务