抽象类

zrj_12 2005-11-21 11:23:00
请问抽象类里可以设置构造涵数吗?为什么?
...全文
384 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
luozhanzhan 2006-03-07
  • 打赏
  • 举报
回复
抽象类中怎么会没有抽象函数呢?
如果没有的话
请那位高人给我举个例子
叫小弟我看看
做鸡真好吃 2006-03-06
  • 打赏
  • 举报
回复
????????
crazycy 2006-03-03
  • 打赏
  • 举报
回复
在Effective Java中好像有说要有子类,必须提供protected 或者public的构造方法;
如果private的,则不能拥有子类;


抽象类一定是父类
crazycy 2006-03-03
  • 打赏
  • 举报
回复
抽象类之所以有构造函数,是因为为了产生子类;
在默认情况下,子类实例产生前,先调用父类的构造方法,这个是java的语义
laoyao319 2006-03-03
  • 打赏
  • 举报
回复
所谓抽象类就是至少包含一个抽象方法的类
kingofhawks 2005-11-22
  • 打赏
  • 举报
回复
呵呵,我就在java斑逛啊,最近比较空一点,经常上来晃悠~~
yqj2065 2005-11-21
  • 打赏
  • 举报
回复
public class A extends B{
int j =20;
public static void main(String[] args) {
System.out.println(new A().i);
}
void doSth(){}
}

abstract class B{
int i=10;
public B(){
i=100;
}
abstract void doSth();
}

要理解为什么需要抽象类
kingofhawks 2005-11-21
  • 打赏
  • 举报
回复
同意1楼星星,除了不能实例化(因为抽象类必定存在没有实现的函数)之外,抽象类与具体类并没有任何区别.
gdsy 2005-11-21
  • 打赏
  • 举报
回复
可以设置抽象类构造函数,这个抽象类却不能实例话,只能由它的子类来实例话。至于原因,我也在关注中 …… :)
treeroot 2005-11-21
  • 打赏
  • 举报
回复
of course you can!
you can do anything in abstract class!
liufanjava 2005-11-21
  • 打赏
  • 举报
回复
原来抽象类里可以没有抽象方法啊,以前总以为抽象类中必有抽象方法来着.受教了!哈哈
那位蓝鹰兄好面熟啊!
yqj2065 2005-11-21
  • 打赏
  • 举报
回复
呵呵,我是几个月来一次。
那位星星好像改了,treeroot()我有印象,旗鲁特应该是改过的。
唉,大家怎么不用实名?对自己也是一个约束。
kingofhawks 2005-11-21
  • 打赏
  • 举报
回复
楼上的是说我吗?我只改过一次名字呀~那位星星也没见他改过名字啊
yqj2065 2005-11-21
  • 打赏
  • 举报
回复
楼上的,你怎么老改名啊?
treeroot 2005-11-21
  • 打赏
  • 举报
回复
楼上的例子很有说服力!
yqj2065 2005-11-21
  • 打赏
  • 举报
回复
treeroot(旗鲁特) ( ) 是对的。

体会一下JDK中一些适配器:抽象类,全部是普通方法,没有抽象方法。
kingofhawks 2005-11-21
  • 打赏
  • 举报
回复
经测试,abstract class确实可以没有任何abstract method,不过从设计角度来说还是应该避免这种设计,那样abstract的本意就失去了作用.谢谢 treeroot(旗鲁特) ( )的提醒.
kingofhawks 2005-11-21
  • 打赏
  • 举报
回复
楼上的,抽象类没有抽象函数那跟具体类有什么区别呢?它不就是可以被实例化了吗?那抽象类还有什么意义?
treeroot 2005-11-21
  • 打赏
  • 举报
回复
to kingofhawks(蓝鹰)
(因为抽象类必定存在没有实现的函数)

这句话是错误的,谁规定抽象类必须有抽象函数呀?

62,629

社区成员

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

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