社区
Java SE
帖子详情
一个子类从父类继承所有的方法和变量,但它不继承构造函数
kevin8848he
2003-08-25 12:07:24
怎么理解这句话,谢谢
...全文
219
21
打赏
收藏
一个子类从父类继承所有的方法和变量,但它不继承构造函数
怎么理解这句话,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
whyxx
2003-08-25
打赏
举报
回复
通常继承就是说子类可以直接使用父类的public和protected方法,构造函数必须和类名同名,当然不能继承了,难道子类可以和父类一个名字吗
jyn01
2003-08-25
打赏
举报
回复
private可能是继承了,但受到限制,无法使用吧,即使覆盖也是产生一个新的函数?个人意见。
shine333
2003-08-25
打赏
举报
回复
一个子类从父类继承所有的方法和变量,但它不继承构造函数
我认为这句话是不正确的,private的就不能继承
star821116
2003-08-25
打赏
举报
回复
比如
class A{
public A(){
...;
}
public static void calculate(int m){
}
}
class B extends A{
public B(){
...;
//当然也可以如下调用A的Constructor
super();
}
public static void calculateWage(int m){
//可以直接调用
calculate(m) + 2;
}
}
wuqf
2003-08-25
打赏
举报
回复
同意 jyn01(jyn01)
jyn01
2003-08-25
打赏
举报
回复
子类有其自己的构造函数,如果在子类中调用父类的函数的话只是但做一般的类的构造函数调用的。比如在B是A的子类,B()是自己的构造函数,它可以使用A的构造函数A(),但A()不是B的构造函数,这是我的看法,如果有错,请大家指导。
fpwang
2003-08-25
打赏
举报
回复
好像也可以说构造函数并不是类的成员
kevin8848he
2003-08-25
打赏
举报
回复
偶明白了,谢谢大伙,发钱(假的),;).
breakhard
2003-08-25
打赏
举报
回复
类B继承类A,类B是类A的子类,是说类B在继承类A所有特性之外还有自己的新特性。比如:类A是汽车类,类B是卡车类,卡车类继承汽车类是汽车类的子类,卡车有汽车的所有特性,同时还具有自己的特性:能装载货物等。所以我觉得上面说的“一个子类从父类继承所有的方法和变量”这句话并不是在讨论继承的细节问题,而是说明了一下继承的概念问题。我想大家也没必要在能否继承private上深究。
构造函数的作用是什么?当给一个类创建对象时,构造函数不是给这个对象赋初值吗?如果子类继承了父类的构造函数,当子类创建一个对象时给该对象赋什么值呢?就像上面说的,当卡车类创建对象时赋汽车类的初值那还有什么意义呢?
以上完全是本人的观点,由于本人也是一位新人,说的不对还望各位大侠指正!!-:)
danceflash
2003-08-25
打赏
举报
回复
为什么实践不行,却说应该是呢? ^_^
本来在类中构造函数就是特殊的函数
用特殊的机制的调用,为什么要和普通的成员方法一致呢? ^_^
jyn01
2003-08-25
打赏
举报
回复
应该是,而实践不行,所以我觉得继承后父类的构造函数就成为了子类的普通函数之一。
vintager4
2003-08-25
打赏
举报
回复
应该是不能继承的。class b 继承自class a ,class b的一个对象cb不能使用cb.a()这样的函数调用。
danceflash
2003-08-25
打赏
举报
回复
那么请问
如果父类的构造函数可以继承
是否表示,我们可以在子类中想调用父类的成员方法一样去调用父类的构造函数呢?
jyn01
2003-08-25
打赏
举报
回复
我认为是可以继存的,只有private才不能继存。
但是,所谓构造函数,是相对类名来定义的,子类和父类的名字不一样的,所以父类的构造函数在子类就不能称其为子类的构造函数了。
agree!!!!!!!
shuki
2003-08-25
打赏
举报
回复
我认为是可以继存的,只有private才不能继存。
但是,所谓构造函数,是相对类名来定义的,子类和父类的名字不一样的,所以父类的构造函数在子类就不能称其为子类的构造函数了。
所以,
那句话是不对的。
danceflash
2003-08-25
打赏
举报
回复
同意 ^_^
dshawn
2003-08-25
打赏
举报
回复
to kevin8848he(ooo)
你举的例子是Test2调用了Test1的构造方法,而不是继承了父类的构造方法,我是这么理解的
danceflash
2003-08-25
打赏
举报
回复
to kevin8848he(ooo):
如果你对JAVA中类的加载和构造有兴趣的话
请先阅读 Thinking in JAVA 2nd 的前7章,讲的不错,翻译的也不错 ^_^
wangyanqiu
2003-08-25
打赏
举报
回复
up
不矛盾!
danceflash
2003-08-25
打赏
举报
回复
to:star821116(冰冻三尺非一日之寒)
class B extends A{
public B(){
...;
//当然也可以如下调用A的Constructor
super();
~~~~~~~~~~~~~
}
}
此种用法好像有所误导
父类构造函数的调用("super();")只能写在子类构造函数的第一句上,否则编译不会通过
加载更多回复(1)
C++
子类
继承
父类
时如何写
构造函数
构造
方法
用来初始化类的对象,与
父类
的其它成员不同,它不能被
子类
继承
(
子类
可以
继承
父类
所有的成员
变量
和成员
方法
,但不
继承
父类
的构造
方法
)。因此,在创建
子类
对象时,为了初始化从
父类
继承
来的数据成员,系统...
qt
子类
调用
父类
的函数_在C++中
子类
继承
和调用
父类
的
构造函数
方法
构造
方法
用来初始化类的对象,与
父类
的其它成员不同,它不能被
子类
继承
(
子类
可以
继承
父类
所有的成员
变量
和成员
方法
,但不
继承
父类
的构造
方法
)。因此,在创建
子类
对象时,为了初始化从
父类
继承
来的数据成员,系统需要...
子类
能不能
继承
父类
的
构造函数
一、
子类
能
继承
父类
的
构造函数
? 答案是不能的。
构造函数
是创建对象时完成的初始化,当我们在new
一个
对象并传入参数时,会自动调用有参数的构造完成参数的初始化,也就是属性的初始化。试想
子类
中
继承
父类
的构造...
在C++中
子类
继承
和调用
父类
的
构造函数
方法
构造
方法
用来初始化类的对象,与
父类
的其它成员不同,它不能被
子类
继承
(
子类
可以
继承
父类
所有的成员
变量
和成员
方法
,但不
继承
父类
的构造
方法
)。因此,在创建
子类
对象时,为了初始化从
父类
继承
来的数据成员,系统...
单选题 下面是有关
子类
继承
父类
构造函数
的描述,其 中正确的是(C)A.创建
子类
的对象时,先调用
子类
自己的构造函 数,然后调用
父类
的
构造函数
。 B.
子类
无条件地
继承
父类
不包含参数的
构造函数
。
子类
可以
继承
父类
的所有成员
变量
和成员
方法
,但不能
继承
父类
的构造
方法
。但实际上,
子类
的构造
方法
中一定会调用
父类
的构造
方法
,不过这种调用只是为了创建
子类
对象进行的初始化处理。
子类
默认
继承
父类
的构造
方法
...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章