黑马程序员技术交流社区
标题:
提示找不到主方法
[打印本页]
作者:
张飞年
时间:
2012-10-17 08:23
标题:
提示找不到主方法
本帖最后由 张飞年 于 2012-10-17 08:24 编辑
//为什么提示找不到主方法?
public class Test4 extends Test3{
public static void main(String[] args) {
Test4 t =new Test4();
t.sop();
}
public void sop(){
System.out.println("sop override");
}
}
复制代码
public abstract class Test3 {
abstract void sop();
Test3(){
System.out.println("abc");
}
}
复制代码
作者:
乔九
时间:
2012-10-17 08:41
//为什么提示找不到主方法?
public class Test4 extends Test3{
public void sop()//
先实现
{
System.out.println("sop override");
}
public static void main(String[] args) {
Test4 t =new Test4();
t.sop();
}
}
public abstract class Test3 {
abstract void sop();
Test3(){
System.out.println("abc");
}
}
先实现在调用
作者:
陈虹旭
时间:
2012-10-17 08:43
楼主确定这个是所有的代码吗?
我觉得这个程序要是放在一个java文件中编译的话是不可以的吧,应该把两个文件放在不同的包中再进行访问吧 不然两个public的文件都声明是没法保存在一个java文件中的,会提示其中一个文件是公共的,没有声明!
楼主试下放在两个包中,然后再编译试下?
作者:
杜正华
时间:
2012-10-17 09:27
Test3和Test4分别单独建立一个文件,编译、运行都可以通过
作者:
李贺晓
时间:
2012-10-17 09:44
如果是在一个程序中写的话,你改成
class Test4 extends Test3{
public static void main(String[] args) {
Test4 t =new Test4();
t.sop();
}
public void sop(){
System.out.println("sop override");
}
}
abstract class Test3 {
abstract void sop();
Test3(){
System.out.println("abc");
}
}
这样就可以了
因为公共的类必须要和文件名称一样的,你也可以定义两个java文件,一个文件为
Test4.java:
public class Test4 extends Test3{
public static void main(String[] args) {
Test4 t =new Test4();
t.sop();
}
public void sop(){
System.out.println("sop override");
}
}
另外一个为Test3.java:
public abstract class Test3 {
abstract void sop();
Test3(){
System.out.println("abc");
}
}
这样也是可以的,这些细节问题多注意一下就好了
作者:
马良
时间:
2012-10-17 10:24
你在一个java文件中写了两个public类,但是如果一个类是public的,那么这个java文件名就要跟类名一致
你这里有两个public类,你的java文件应该取什么名字呢?
所以,要么你就去掉public,要么两个文件单独编译,运行。
作者:
张飞年
时间:
2012-10-18 14:17
陈虹旭 发表于 2012-10-17 08:43
楼主确定这个是所有的代码吗?
我觉得这个程序要是放在一个java文件中编译的话是不可以的吧,应该把两个文 ...
昨天忙,今天才回复 ,我是在Eclipse中,同包不同的文件,我试一下不同的包。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2