一个关于构造函数的问题。。。 大家看看 比较简单

success1234 2009-04-07 09:10:07
public class A {
public A(String str) {
this.str = str;
}
}

public class B extends A {
public B(String str1) {
this.str1 = str1;
}
public B(String str1, String str2) {
//...
//..
}
public B() {
。。。
}
}

class B 里的构造函数可以这么写吗。。。
为什么
...全文
68 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
robyjeffding 2009-04-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Despereaux 的回复:]
刚试了下,父类中必须显式声明public A(){}才行
[/Quote]
就是这样的
qqxuexixuexi 2009-04-08
  • 打赏
  • 举报
回复
偶怎么没看见A中有成员变量啊?
dreamhunter_lan 2009-04-08
  • 打赏
  • 举报
回复
显然不行,在调用B的构造方法之前,会自动调用父类的无参构造函数,而A中没有无参构造函数了
解决的方法:
1、在A中提供一个无参构造函数或
2、在B的每个构造函数定义的第一行写上super("某一String");
Study_Work_2009 2009-04-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gwikimo 的回复:]
这写的应该是有问题的,父类A中没有无参构造函数,子类B继承会出问题。
[/Quote]
up
success1234 2009-04-08
  • 打赏
  • 举报
回复
up
Despereaux 2009-04-07
  • 打赏
  • 举报
回复
刚试了下,父类中必须显式声明public A(){}才行
jsyz3838131 2009-04-07
  • 打赏
  • 举报
回复
不知道楼主问什么?
class A 中要有默认的构造方法,子类才能继承,
class B 中可以有自己的构造方法,重载多个没问题
gwikimo 2009-04-07
  • 打赏
  • 举报
回复
这写的应该是有问题的,父类A中没有无参构造函数,子类B继承会出问题。

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧