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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小黑子 中级黑马   /  2014-8-3 12:11  /  1015 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小黑子 于 2014-8-4 09:13 编辑

毕老师说,如果想要访问父类中指定了构造函数,可以通过手动定义super语句的方式。
可是问题就来了。如图所示,为什么明明调用的是有参的构造函数,可是如果父类中没有无参构造函数时,却编译无法通过呢?

8_super问题.png (83.61 KB, 下载次数: 30)

8_super问题.png

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1 淡定

查看全部评分

5 个回复

倒序浏览
当你自己定义了有参构造,系统不会给出默认的无参构造,必须自己给出一个无参构造
回复 使用道具 举报
暗影 发表于 2014-8-3 13:29
当你自己定义了有参构造,系统不会给出默认的无参构造,必须自己给出一个无参构造
...

看清题目再回复,他的代码并没有错。楼主,我个人觉得可能是你的文件重名了,虚拟机调用了你之前写的Person文件,建议去其他文件夹下创建工程或者把类名重新起名。
class Person11
{
        String name;
        Person11(String name)
        {
                //this.name = name;
                System.out.println("Person()name是" +name);
        }
}
class Student11 extends Person11
{
        Student11(String name)
        {
                super(name);
        }
}
class PS_Test_extends
{
        public static void main(String[] args)
        {
                Student11 s1 = new Student11("zs");
        }
}

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1 赞一个!

查看全部评分

回复 使用道具 举报
LFW 发表于 2014-8-3 13:49
看清题目再回复,他的代码并没有错。楼主,我个人觉得可能是你的文件重名了,虚拟机调用了你之前写的Pers ...

果然是大神,谢谢!大神报了哪期的培训班?或者准备报哪期?
回复 使用道具 举报
小黑子 发表于 2014-8-3 17:08
果然是大神,谢谢!大神报了哪期的培训班?或者准备报哪期?

我不是大神,因为我出现过两个.class文件重名的情况,然后调试的时候就是不按自己新写的代码出结果,我就想到了这个问题。事实上,如果指定包,一般就不会有这个情况。虽然我也还没习惯去写包。,本来想报42的,但我非毕业生又不想先付费,视频也还没看完,所以准备报1月分的深圳班,自己继续学。
回复 使用道具 举报
LFW 发表于 2014-8-3 21:21
我不是大神,因为我出现过两个.class文件重名的情况,然后调试的时候就是不按自己新写的代码出结果,我就 ...

哦,这个样子啊,1月份要等到明天呐。那大牛加油哈!!!祝你好运:)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马