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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© MR.J 中级黑马   /  2014-9-10 10:53  /  1633 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我基础不好,今天在看过视频教程自己敲代码,然后运行,没通过,代码如下:
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();

10 个回复

倒序浏览
这个PesonDemo是主函数所在的类,并不是定义学生类的,是这整个java class文件的命名和定义 你看他名字都表示这个class文件时用来演示student类的 毕老师那套视频里都是这样命名的
回复 使用道具 举报
你写的代码里面 main函数都没有从属的类了,肯定不行,java所有的东西都是一个个的对象
回复 使用道具 举报
建议你文件命名如果是ClassDemo,那么里面main主函数就写在这个文件名命名的类里面
回复 使用道具 举报
mtdanz 发表于 2014-9-10 11:14
这个PesonDemo是主函数所在的类,并不是定义学生类的,是这整个java class文件的命名和定义 你看他名字都表 ...

就是每一个部分都要用类定义?
回复 使用道具 举报
mtdanz 发表于 2014-9-10 11:16
你写的代码里面 main函数都没有从属的类了,肯定不行,java所有的东西都是一个个的对象 ...

main函数也算是一个对象这么说?
回复 使用道具 举报
mtdanz 中级黑马 2014-9-10 12:31:07
7#
MR.J 发表于 2014-9-10 12:10
main函数也算是一个对象这么说?

main函数也要包在一个类里面
回复 使用道具 举报
家进 中级黑马 2014-9-10 14:38:07
8#
main函数必须要放在一个类里面,但不属于那个类
回复 使用道具 举报
MR.J 中级黑马 2014-9-10 17:49:24
9#
家进 发表于 2014-9-10 14:38
main函数必须要放在一个类里面,但不属于那个类

明白了,谢谢。:)
回复 使用道具 举报
PersonDemo是主函数所在的类,在主函数里 实例化了Person类的一个对象,并且调用了对象中的方法 void speak(),。int age是Person类的成员属性(也叫成员变量),行为既功能是 void speak(). 这是在一个目录下的两个类,你编译了就会看到生成了两个class文件。 一个目录下的类可以互相调用。
回复 使用道具 举报
主函数所在的当然是个类啊。这个类就是个普通的类,只不过有一个特殊的方法——主函数而已。PersonDemo的类属性没有。。。你写的内容在主函数里,当然不能算是类的属性了。 行为的话,如果一定要说有,那应该是指主函数。   关于这一点,你看到后面的视频就自然理解了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马