Java 封装、继承、多态
1. 封装Encapsulation一句话解释把属性藏起来不让外面随便改只留公开方法访问。核心安全、可控、保护数据生活例子你有个银行卡钱余额是藏在里面的你不能直接伸手去改余额只能通过存/取这两个方法操作代码例子publicclassUser{// 私有属性外面不能直接访问privateStringname;privateintage;// 公开方法让外面可控地访问/修改publicStringgetName(){returnname;}publicvoidsetAge(intage){// 这里可以加控制封装的精髓if(age0||age150){System.out.println(年龄不合法);return;}this.ageage;}}为什么要用防止乱改数据比如年龄设成 -10内部逻辑可以随便改外部不受影响代码更安全、更好维护2. 继承Inheritance一句话解释子类继承父类直接拥有父类的属性和方法不用重复写。核心代码复用、层级关系生活例子父类人有名字、年龄、会吃饭、睡觉子类学生→ 继承人类学生自动有名字、年龄、吃饭、睡觉学生额外有学号、学习方法代码例子// 父类publicclassPerson{Stringname;intage;publicvoideat(){System.out.println(吃饭);}}// 子类 extends 父类publicclassStudentextendsPerson{// 自动拥有 name、age、eat()StringstudentId;publicvoidstudy(){System.out.println(学习);}}好处不用重复写相同代码结构清晰方便统一扩展、修改3. 多态Polymorphism一句话解释同一个方法在不同子类里表现出不同行为。核心父类引用指向子类对象调用时表现子类行为生活例子父动物→ 有个方法叫叫()狗叫()→ 汪汪汪猫叫()→ 喵喵喵羊叫()→ 咩咩咩同样是“叫”结果不一样 → 这就是多态。代码例子// 父类publicclassAnimal{publicvoidshout(){System.out.println(动物叫);}}// 子类1publicclassDogextendsAnimal{Overridepublicvoidshout(){System.out.println(汪汪汪);}}// 子类2publicclassCatextendsAnimal{Overridepublicvoidshout(){System.out.println(喵喵喵);}}使用Animala1newDog();Animala2newCat();a1.shout();// 输出汪汪汪a2.shout();// 输出喵喵喵多态的 3 个必要条件继承方法重写Override父类引用指向子类对象终极一句话总结封装把数据藏起来安全可控继承子类抄父类作业少写代码多态同一个方法不同子类有不同表现