黑马程序员技术交流社区

标题: 关于访问父类指定构造函数的问题 [打印本页]

作者: 小黑子    时间: 2014-8-3 12:11
标题: 关于访问父类指定构造函数的问题
本帖最后由 小黑子 于 2014-8-4 09:13 编辑

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

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

8_super问题.png

作者: 暗影    时间: 2014-8-3 13:29
当你自己定义了有参构造,系统不会给出默认的无参构造,必须自己给出一个无参构造

作者: LFW    时间: 2014-8-3 13:49
暗影 发表于 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");
        }
}

作者: 小黑子    时间: 2014-8-3 17:08
LFW 发表于 2014-8-3 13:49
看清题目再回复,他的代码并没有错。楼主,我个人觉得可能是你的文件重名了,虚拟机调用了你之前写的Pers ...

果然是大神,谢谢!大神报了哪期的培训班?或者准备报哪期?
作者: LFW    时间: 2014-8-3 21:21
小黑子 发表于 2014-8-3 17:08
果然是大神,谢谢!大神报了哪期的培训班?或者准备报哪期?

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

哦,这个样子啊,1月份要等到明天呐。那大牛加油哈!!!祝你好运:)




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