Java中子类的构造函数如何书写
今天做了一道题,有关于继承
我在想,怎样让子类中的构造函数给它继承的父类的私有变量radius赋值,显然是要通过调用构造函数,在c++里,可以这样
Cylinder(double r,double h):Circle(r){
...(代码块)
}
但在Java中我试了一下,不行,百度一下之后,要调用super函数,这里有很多重难点。
1.首先我们得明白,继承是不会继承构造函数,只能调用(隐式或显式)
2.如果父类没有定义构造函数或者存在无参构造函数,所有子类的构造函数会默认调用父类的构造函数(即在最前面省略了super();)
3.如果父类没有无参的构造函数,或者是子类的构造函数想调用父类的含参构造函数(就像这题一样,我们希望调用Circle的含参构造函数来初始化radius),就要第一行显式使用super( [arg0][,arg1]….),显式调用的参数类型,参数个数和你想调用的父类构造函数对应,注意一定要写在第一行,否则编译不通过。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】