Java继承与方法重写学习笔记

Java继承与方法重写学习笔记 今天学习了Java中的继承和方法重写通过一个简单的“水果”例子来加深理解。父类 fruit首先我创建了一个 fruit 类作为父类。它定义了所有水果共有的属性和行为。属性name: 水果的名字用 private 修饰保证数据安全。satietylevel: 饱食度同样用 private 修饰。方法setName / getName: 用于设置和获取 name 属性。setsatietylevel / getsatietylevel: 用于设置和获取 satietylevel 属性。eat(): 一个普通方法打印“正在吃”加上水果的名字。public class fruit {private String name;private int satietylevel;public void setsatietylevel(int a) {this.satietylevel a;}public int getsatietylevel() {return this.satietylevel;}public void setName(String n) {this.name n;}public String getName() {return this.name;}public void eat() {System.out.println(“正在吃” this.name);}}这个类是所有具体水果的模板。子类 banana接着我创建了一个 banana 类它通过 extends 关键字继承了 fruit 类。继承 : public class banana extends fruit 这行代码意味着 banana 类自动拥有了 fruit 类中所有的非私有属性和方法如 setName, getName 等。新增方法printName(): 调用从父类继承来的 getName() 方法并打印出水果的名字。printsatietylevel(): 调用从父类继承来的 getsatietylevel() 方法并打印出饱食度。public class banana extends fruit {public void printName() {System.out.println(“名字” this.getName());}public void printsatietylevel() {System.out.println(“饱食度” this.getsatietylevel());}public void eat() {super.eat();System.out.println(“香蕉永远的神”);}}方法重写我重写了父类的 eat() 方法。在重写的 eat() 方法内部我使用了 super.eat()。super 关键字代表父类对象这行代码的作用是先执行父类 fruit 中原本的 eat() 方法即打印“正在吃香蕉”然后再执行子类特有的逻辑打印“香蕉永远的神”。这是一种在扩展功能时保留原有功能的常用技巧。测试类 manage最后我编写了 manage 类来运行和测试上面的代码。创建对象: banana ba new banana(); 创建了一个 banana 类的实例。调用方法:ba.setName(“香蕉”); 和 ba.setsatietylevel(5); 调用了从父类继承来的方法设置了香蕉的名字和饱食度。ba.eat(); 调用了子类 banana 中重写后的 eat() 方法。ba.printName(); 和 ba.printsatietylevel(); 调用了子类自己定义的新方法。public class manage {public static void main(String[] args) {banana ba new banana();ba.setName(“香蕉”);ba.setsatietylevel(5);ba.eat();ba.printName();ba.printsatietylevel();}}效果