
java中无法将A中的构造器应用到给定类型,为什么把extends A去掉就没事,求详解原理,谢谢
java中无法将A中的构造器应用到给定类型,为什么把extendsA去掉就没事,求详解原理,谢谢啦。。...
java中无法将A中的构造器应用到给定类型,为什么把extends A去掉就没事,求详解原理,谢谢啦。。
展开
3个回答
展开全部
package com.sun;
class Father {
public Father(int i) {
System.out.println(i);
}
}
class Son extends Father {
// 如果子类没有写任何的构造函数(带参构造或者无参构造),
// 则java编译器会自动添加一个无参的构造函数,样子如下所示:
// public Son(){
// super();
// }
// 如果反编译它的.class文件就能看见上面的代码。
// 也就是说此时子类创建对象的时候会找父类的无参构造,而此时父类中并没有无参构造啊,所以编译时就的时候会出错;
// 子类继承父类的时候,父类的构造函数是不会继承的。
// 任何一个类都肯定会有一个构造函数,无论是带参的还是无参的。
//默认情况下任何一个构造函数的第一行都是隐式的super(); 除非手动指定父类的带参构造。
}
追问
太详细啦,太感谢啦。。
展开全部
子类缺少构造体 需要对A的实现
更多追问追答
追问
可是我只是实例化父类,为什么会跟子类有关系。。
追答
不完整 你必须在子类加上父类构造体的实现 不然编译error
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
父类是整型的,子类是字符型
追问
子类我没写构造方法啊。。
追答
qq私聊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |