A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class Person
{       
        private String name;
        private int age;

        Person()
        {
                System.out.println("A:name="+name+",,age="+age);
        }
        Person(String n)
        {
                name = n;
                System.out.println("B:name="+name+",,age="+age);
        }
        Person(String n,int a)
        {
                name = n;
                age = a;
                System.out.println("C:name="+name+",,age="+age);
        }


}

class Person2
{
        public static void main(String[] args)
        {
                Person p1 = new Person();
       
                Person p2 = new Person("lisi");

        }
}
提示person类里缺少主函数= =什么鬼

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

16 个回复

倒序浏览
我运行了,不过没事
A:name=null,,age=0
B:name=lisi,,age=0
你的错误可能是因为主函数所在类的类名与文件名不匹配
回复 使用道具 举报
横看成岭侧成锋 发表于 2015-4-29 12:05
我运行了,不过没事
A:name=null,,age=0
B:name=lisi,,age=0

我明白了~~多谢多谢
回复 使用道具 举报
横看成岭侧成锋 发表于 2015-4-29 12:05
我运行了,不过没事
A:name=null,,age=0
B:name=lisi,,age=0

明白了 ,果然还是得问人啊,自己想破脑袋也想不明白
回复 使用道具 举报
这种情况 一般是你编译的文件名称应该是Person的,运行时也是,导致Person中没有主方法不能运行,你可以改为文件名是Person2.java 编译运行 就可以了
回复 使用道具 举报
你运行Person2就可以了
回复 使用道具 举报
mmakun 中级黑马 2015-5-18 14:25:45
7#
看不出什么问题啊
回复 使用道具 举报
.............................这种奇葩小错误我已经也经常犯 慢慢就习惯了
回复 使用道具 举报
wrrzdd 初级黑马 2015-5-18 15:43:32
9#
类名和文件名一致,这要养成习惯
回复 使用道具 举报
你new 的Person 括号中("lisi")  和上面Person的构造函数  没有一个是相同的   你要么就("lisi",10)  要对应就没有错
回复 使用道具 举报
      没有写在 main方法中
回复 使用道具 举报
程序是没问题的,你运行了错误的类!!!
回复 使用道具 举报
将该java文件命名为Person2
编译    javac Person2.java
运行   java Person2

捕获.PNG (3.25 KB, 下载次数: 9)

捕获.PNG
回复 使用道具 举报
程序没问题呀
回复 使用道具 举报
这个就是编译的是person'类 而不是person2类 ,我也是经常这样犯错
回复 使用道具 举报
你是不是运行错了 ,运行第一函数了
回复 使用道具 举报
因为你主函数在Person2中,文件名为Person.java。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马