导语:
程序员小明最近被一段Java代码整疯了——
父类的属性明明写着100块,子类却显示余额不足!
这究竟是道德的沦丧,还是继承的扭曲?
且看《Java家庭伦理剧》之**"父子撞衫引发的血案"**!
第一集:撞衫不可怕,谁穷谁尴尬
剧情:
父类老父亲偷偷藏了100块私房钱:
class 老父亲 {String 私房钱 = "床底下的100块";}
儿子叛逆期,也搞了个同名钱包:
class 儿子 extends 老父亲 {String 私房钱 = "手机壳里的5毛"; // 大型撞衫现场!}
翻车现场:
儿子 小明 = new 儿子();System.out.println("小明钱包:" + 小明.私房钱); // 输出:手机壳里的5毛System.out.println("老父亲视角:" + ((老父亲)小明).私房钱); // 输出:床底下的100块
灵魂拷问:
全家一起逛街,小明以为全家有100.5元,
结果结账时——父子各掏各的,当场社死!💸
第二集:私房钱去哪了?构造方法埋大坑
剧情:
老父亲在构造方法里偷偷塞钱:
class 老父亲 {int 私房钱;老父亲() {私房钱 = 100; // 藏在《Java编程思想》书里}}
儿子继承时一顿骚操作:
class 儿子 extends 老父亲 {int 私房钱; // 又搞同名!儿子() {super(); // 父类构造方法默默塞了100this.私房钱 = 1; // 儿子只给自己塞1块}}
惨烈结局:
老妈查账时:
System.out.println(儿子.私房钱); // 1块(儿子觉得稳了)System.out.println(((老父亲)儿子).私房钱); // 100块(老爸偷笑)
结果老妈以为全家总资产101块,
其实父子各自为政——根本没法凑钱买Switch!🎮
第三集:Get方法引发的信任危机
骚操作升级:
老父亲用get私房钱()
方法公开财产:
class 老父亲 {private int 私房钱 = 100;public int get私房钱() { return 私房钱; } // 表面公开}
儿子继承后光速踩坑:
class 儿子 extends 老父亲 {private int 私房钱 = 500; // 另起炉灶!// 忘记重写get方法!!}
家庭崩坏:
儿子 小明 = new 儿子();System.out.println("老妈查账:" + 小明.get私房钱()); // 输出100(老爸的!)System.out.println("儿子实际:" + 小明.私房钱); // 输出500(自己的!)
老妈怒斥:“说好的500呢?”,儿子背锅——
Java版《罗生门》诞生!
大结局:程序员の求生指南
1️⃣ 避免撞衫:父子属性别同名!非要同名请用super.属性
明算账!
2️⃣ 统一钱包:用getter/setter
管钱,别让属性裸奔!
3️⃣ 构造方法别偷懒:父类的属性记得用super()
初始化!
互动话题:
你在代码里见过哪些“父子反目”的骚操作?
关注我,带你用吃瓜姿势学编程! 🍉
(下期预告:《接口与实现类的离婚官司》——彩礼到底该不该退?)
文章转载自让天下没有难学的编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




