Java继承构造方法的注意点
父类:注意(x,y是private,不能继承到子类中)
class Par{ private int x; private int y; int a; public Par(){ } public Par(int x, int y) { this.x = x; this.y = y; System.out.println("Par..."); } public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; } public void setY(int y) { this.y = y; } public int getA() { return a; } public void setA(int a) { this.a = a; } }
子类
class Son extends Par{ public Son(int x,int y) { super(x,y); System.out.println("Son..."); a=x+y; } }
主函数
public class Test01 { public static void main(String[] args) { System.out.println(new Par(1, 2).a); System.out.println(new Son(2, 2).a); } }
输出结果
结论:子类在调用构造函数时,需要先调用父类的构造函数(创建一个父类),本案例中的x,y无法被继承下来,但依旧可以通过调用父类的super(x,y)给父类的x,y赋值,通过get方法在获取x,y的值
如果父类只有有参构造方法
class Person{ int x,y; public Person(int x, int y) { this.x = x; this.y = y; } public void run(){ System.out.println("run..."); } public void eat(){ System.out.println("eat..."); } }
子类的构造方法只能比父类的构造方法一样或者更多,如果建个无参那就不行了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!