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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Destiny 中级黑马   /  2012-3-9 17:32  /  1465 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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();
                }

}

怎么会出现提示错误呢? 望高手指点下 ,本人初学~

评分

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

查看全部评分

9 个回复

倒序浏览
      Student(String name)
        {
                super(name);
                this.name = "sas";//你这是什么东东,name父类初始化过了
        }
回复 使用道具 举报
没有错误呀。
运行结果:
回复 使用道具 举报
那个用过父类的方法后,又重新给那个name赋值,最后的值就是sas啊
回复 使用道具 举报
没有什么错误啊,只是 super(name); 这是调用父类的构造函数初始化name,后面的this.name = "sas;可以不用写了,但这是符合语法规则的,不会提示什么错误啊,你具体提示了什么错误啊
回复 使用道具 举报
苳眠 发表于 2012-3-9 17:42
没有错误呀。
运行结果:

咦  可是我运行不了呢?、编译可以 运行不行~
回复 使用道具 举报
苳眠 发表于 2012-3-9 17:42
没有错误呀。
运行结果:

额 …… 明白了 犯了个低级错误 类名跟文件名不一样~!用的以前的文件重写的 忘记重命名了~!
回复 使用道具 举报
Destiny 发表于 2012-3-9 17:53
额 …… 明白了 犯了个低级错误 类名跟文件名不一样~!用的以前的文件重写的 忘记重命名了~! ...

文件内主类要有访问权限标识符public

评分

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

查看全部评分

回复 使用道具 举报
了无尘 发表于 2012-3-9 17:54
文件内主类要有访问权限标识符public

嗯 呵呵 知道了!受教啦 呵呵呵!!
回复 使用道具 举报
Destiny 发表于 2012-3-9 17:58
嗯 呵呵 知道了!受教啦 呵呵呵!!

我的建议是所有类全部分开源文件单独写,不要写在一个文件里,这样对于包和访问标识符的理解会更好一些,也可以避免一些访问权限受限带来的麻烦,写在一个源文件中的多个类访问上很蹩脚
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马