黑马程序员技术交流社区

标题: 基础教程类的疑问,谢谢。 [打印本页]

作者: MR.J    时间: 2014-9-10 10:53
标题: 基础教程类的疑问,谢谢。
我基础不好,今天在看过视频教程自己敲代码,然后运行,没通过,代码如下:
class Person
{
        int age;
        void speak()
        {
                System.out.println("age="+age);
        }
}

public static void main(String[] args)
{
        Person a=new Person();
        a.age=20;
        a.speak();
}

调试运行发现没通过,看了几遍没有看明白怎么回事,与视频对比才发现原来是这样的:
class Person
{
        int age;
        void speak()
        {
                System.out.println("age="+age);
        }
}
class PersonDemo
{
        public static void main(String[] args)
{
        Person a=new Person();
        a.age=20;
        a.speak();
}

}
修改后运行通过。
看到这里才明白少了上面的:
class PersonDemo
{
}
但是又有点疑问了,这里主函数所在的也是个类吗?如果是的话,这个类与Person有什么区别吗?
PersonDemo里面的的属性是不是:
Person a=new Person();
        a.age=20;
而行为是不是:
a.speak();
作者: mtdanz    时间: 2014-9-10 11:14
这个PesonDemo是主函数所在的类,并不是定义学生类的,是这整个java class文件的命名和定义 你看他名字都表示这个class文件时用来演示student类的 毕老师那套视频里都是这样命名的
作者: mtdanz    时间: 2014-9-10 11:16
你写的代码里面 main函数都没有从属的类了,肯定不行,java所有的东西都是一个个的对象
作者: sublimter    时间: 2014-9-10 11:26
建议你文件命名如果是ClassDemo,那么里面main主函数就写在这个文件名命名的类里面
作者: MR.J    时间: 2014-9-10 12:07
mtdanz 发表于 2014-9-10 11:14
这个PesonDemo是主函数所在的类,并不是定义学生类的,是这整个java class文件的命名和定义 你看他名字都表 ...

就是每一个部分都要用类定义?
作者: MR.J    时间: 2014-9-10 12:10
mtdanz 发表于 2014-9-10 11:16
你写的代码里面 main函数都没有从属的类了,肯定不行,java所有的东西都是一个个的对象 ...

main函数也算是一个对象这么说?
作者: mtdanz    时间: 2014-9-10 12:31
MR.J 发表于 2014-9-10 12:10
main函数也算是一个对象这么说?

main函数也要包在一个类里面
作者: 家进    时间: 2014-9-10 14:38
main函数必须要放在一个类里面,但不属于那个类
作者: MR.J    时间: 2014-9-10 17:49
家进 发表于 2014-9-10 14:38
main函数必须要放在一个类里面,但不属于那个类

明白了,谢谢。:)
作者: 进击的大鹏    时间: 2014-9-10 23:30
PersonDemo是主函数所在的类,在主函数里 实例化了Person类的一个对象,并且调用了对象中的方法 void speak(),。int age是Person类的成员属性(也叫成员变量),行为既功能是 void speak(). 这是在一个目录下的两个类,你编译了就会看到生成了两个class文件。 一个目录下的类可以互相调用。
作者: zz_job    时间: 2014-9-10 23:55
主函数所在的当然是个类啊。这个类就是个普通的类,只不过有一个特殊的方法——主函数而已。PersonDemo的类属性没有。。。你写的内容在主函数里,当然不能算是类的属性了。 行为的话,如果一定要说有,那应该是指主函数。   关于这一点,你看到后面的视频就自然理解了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2