抽象类继承实体类,是否需要实体类必须有明确的构造函数?

斯科尔斯- 2005-04-08 10:26:25
我看一个文档,上面说,“抽象类是可继承实体类,但前提是实体类必须有明确的构造函数。”

但是我试试了。好像不需要什么明确的构造函数。不知道我理解错了。
我想问的是,到底抽象类能不能继承实体类,同时那个实体类有没有什么特别的要求嘛?
...全文
640 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dan1980 2005-04-08
  • 打赏
  • 举报
回复
+------------------------------------------------------------+
| 抽象类是可继承实体类,但前提是实体类必须有明确的构造函数。 |
+------------------------------------------------------------+

这好像是句废话, 每个类都会有构造函数, 即使没有显式地写出来.

我的疑问和楼主一样: 到底什么样的实体类才不能被抽象继承(当然除了final类)?
wallex 2005-04-08
  • 打赏
  • 举报
回复
我对此有疑问,什么叫“明确的构造函数”,
是必须声明一个public SomeClass(){}吗,
但我们知道,java中所有的类继承于Object,
如果所定义的类里面没有构造函数,
系统会给一个默认的构造函数,
这算不算一个“明确的构造函数”呢。


这句话“抽象类继承实体类,是否需要实体类必须有明确的构造函数”
是不是该这样理解:
按照面向对象概念,实体类要有明确的构造函数,但你不用担心,
如果没有,java系统已经帮你做了.
斯科尔斯- 2005-04-08
  • 打赏
  • 举报
回复
看看我下面这两个class。
public class LazySingleton {
protected LazySingleton(String s) {
};
}
public abstract class ExtendLazySingleton extends LazySingleton{
public ExtendLazySingleton(){
super(new String());
}
}
这里的LazySingleton类,就没有无参构造函数。但是编译没有报错哦!
shine333 2005-04-08
  • 打赏
  • 举报
回复
我认为没有关系啊,因为即使是抽象类,也是有构造函数的(即使没有显式的,也会有默认的),所以在考虑构造函数的时候,它和普通的子类所需要遵守的规则没有什么差异的
HitXU 2005-04-08
  • 打赏
  • 举报
回复
我想应该需要有构造函数的,而且一定要有那个无参数的默认构造函数,你试验的时候没有写构造函数,虽然你没写,但java默认类都有一个无参数的构造函数。

这是我的理解,未必正确,欢迎大虾指教。
斯科尔斯- 2005-04-08
  • 打赏
  • 举报
回复
谢谢你的回复。你说的“没什么关系”的意思是说,不需要特别的要求嘛?
bevin1010 2005-04-08
  • 打赏
  • 举报
回复
个人觉得没有什么关系,不过实在想不通抽象类为什么要继承实体类,抽象的东西应该范围广一些,实体类才是具体的东西。
hongyan2004 2005-04-08
  • 打赏
  • 举报
回复
每一个类都有一个构造函数(显式和隐式)

62,614

社区成员

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

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