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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 包晗 于 2012-5-17 16:17 编辑

class Person
{

        int age;
        void speak()
        {
                System.out.println("age="+age);
        }
        
}

class PersonDemo
{
        public static void main(String[] args)
         {
                Person p=new Person();

                p.age=20;
                p.speak();
        }


}
视频第5天07...和例子一模一样...编译也成功了...运行就缺少main   请各位帮忙看看

还请问下类是什么.我看了视频还是感觉概念有点模糊.谢谢

10 个回复

正序浏览
谢谢各位了  
回复 使用道具 举报
袁錦泰 黑马帝 2012-5-17 13:50:12
9#
包晗 发表于 2012-5-17 13:38
就是说 我无论写多少个class  编译的话 只会有一个main的类 以有main的这个类为文件名 是吧 ...

你所指的main是主函数,它是程序的入口,没有它你定义再多的类也无法见到运行结果,对于类的定义个数并没有限制,根据需求而定,但是这个主函数只能有一个。还有就是如果你的类名前被public修饰,那么你的.java文件名必须和类名相同,不要嫌麻烦,以后代码多了,类与类之间的存在关系时这个是必不可少的,对于权限修饰符针对修饰类、函数、成员变量的内容你要好好看一下,并不复杂,只是以前没有接触过,现在刚刚开始有些不习惯,如后见得多了你就驾轻就熟了。
回复 使用道具 举报
包晗 中级黑马 2012-5-17 13:38:25
8#
冯越 发表于 2012-5-17 13:30
一个文件可以有多个类,而且既可以是独立类,也可以是内部类(即嵌套类),但是,一个文件只能有一个和文件名( ...

就是说 我无论写多少个class  编译的话 只会有一个main的类 以有main的这个类为文件名 是吧
回复 使用道具 举报
冯越 中级黑马 2012-5-17 13:30:47
7#
包晗 发表于 2012-5-17 13:26
好象是的。。。。
我运行成功了。。。我想请教下 这个程序的class Person 和class PersonDemo  他们的除 ...

一个文件可以有多个类,而且既可以是独立类,也可以是内部类(即嵌套类),但是,一个文件只能有一个和文件名(包括大小写)完全相同的公共类(用public修饰的).
java 是面向对象的思想。。public类就是外部文件可以调用的主类。。而主类里的类只能是自身调用。如果一个文件可以有多可public类的话,在编译的时候生成的字节码文件.class文件就乱了。。        在你这里主类就是calss PersonDemo      
回复 使用道具 举报
田林 发表于 2012-5-17 13:22
楼主是不是把Person类作为编译和运行类了???主方法在PersonDemo类中,
编译:javac  PersonDemo.java
运 ...

好象是的。。。。
我运行成功了。。。我想请教下 这个程序的class Person 和class PersonDemo  他们的除了主函数 还有什么区别吗..?
谢谢
回复 使用道具 举报
我运行之后并没有出现异常,你运行其他程序时是否出现这种情况了???
回复 使用道具 举报
包晗 发表于 2012-5-17 13:19
加了 还是说找不到主函数

你确定? 为什么我把你的代码copy在我的编译器里就能正常运行呢?
回复 使用道具 举报
楼主是不是把Person类作为编译和运行类了???主方法在PersonDemo类中,
编译:javac  PersonDemo.java
运行:java  PersonDemo
在我这里运行没事!
回复 使用道具 举报
冯越 发表于 2012-5-17 13:15
你的类 PersonDemo 前面少了 public 。把他改成 public class PersonDemo就对了。在一个类中一定要有一个带 ...

加了 还是说找不到主函数
回复 使用道具 举报
本帖最后由 冯越 于 2012-5-17 13:19 编辑

你的类 PersonDemo 前面少了 public 。把他改成 public class PersonDemo就对了。在一个类中一定要有一个带public的类 这个类的名字要和你创建这个类的文件名相同 就是 PerdonDemo.java的名字相同。而main方法就在这个带public的类里面。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马