黑马程序员技术交流社区

标题: 一个错误 请教大家~ [打印本页]

作者: Destiny    时间: 2012-3-9 17:32
标题: 一个错误 请教大家~
class Person
{
         String name;
        Person(String name)
        {
                this.name = name;
        }
}
class Student extends Person
{
       
        Student(String name)
        {
                super(name);
                this.name = "sas";
        }
       
       
        void show()
        {
                System.out.println(name);
        }
}
class JiChengDemo
{
        public static void main(String[] args)
                {
                        Student s = new Student("sa");
                        System.out.println(s.name);
                        s.show();
                }

}

怎么会出现提示错误呢? 望高手指点下 ,本人初学~
作者: 马胜平    时间: 2012-3-9 17:39
      Student(String name)
        {
                super(name);
                this.name = "sas";//你这是什么东东,name父类初始化过了
        }
作者: 王杰    时间: 2012-3-9 17:42
没有错误呀。
运行结果:

作者: 黑马—王宁    时间: 2012-3-9 17:45
那个用过父类的方法后,又重新给那个name赋值,最后的值就是sas啊

作者: 黄云南    时间: 2012-3-9 17:49
没有什么错误啊,只是 super(name); 这是调用父类的构造函数初始化name,后面的this.name = "sas;可以不用写了,但这是符合语法规则的,不会提示什么错误啊,你具体提示了什么错误啊

作者: Destiny    时间: 2012-3-9 17:50
苳眠 发表于 2012-3-9 17:42
没有错误呀。
运行结果:

咦  可是我运行不了呢?、编译可以 运行不行~
作者: Destiny    时间: 2012-3-9 17:53
苳眠 发表于 2012-3-9 17:42
没有错误呀。
运行结果:

额 …… 明白了 犯了个低级错误 类名跟文件名不一样~!用的以前的文件重写的 忘记重命名了~!
作者: 刘蕴学    时间: 2012-3-9 17:54
Destiny 发表于 2012-3-9 17:53
额 …… 明白了 犯了个低级错误 类名跟文件名不一样~!用的以前的文件重写的 忘记重命名了~! ...

文件内主类要有访问权限标识符public
作者: Destiny    时间: 2012-3-9 17:58
了无尘 发表于 2012-3-9 17:54
文件内主类要有访问权限标识符public

嗯 呵呵 知道了!受教啦 呵呵呵!!
作者: 刘蕴学    时间: 2012-3-9 18:27
Destiny 发表于 2012-3-9 17:58
嗯 呵呵 知道了!受教啦 呵呵呵!!

我的建议是所有类全部分开源文件单独写,不要写在一个文件里,这样对于包和访问标识符的理解会更好一些,也可以避免一些访问权限受限带来的麻烦,写在一个源文件中的多个类访问上很蹩脚




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