
package com.itheima.d8_extends_field_method;public class Test { public static void main(String[] args) { // 目标:理解继承后成员的访问特点,就近原则 Dog d = new Dog(); // 给子类创建对象 d.run(); // 虽然父类也有run方法,但是他会优先执行自己子类的方法 d.lookDoor();// 子类的 d.showName(); }}class Animal { public String name = "动物名"; public void run(){ System.out.println("动物可以跑"); }}class Dog extends Animal { public String name = "狗名"; public void lookDoor(){ System.out.println("狗可以看门"); } public void showName(){ String name = "局部名"; System.out.println(name); // 会采用就近原则,访问当前方法的name,如果局部没有就访问当前子类的name, // 当前子类没有则访问父类的name(会继承父类成员,和方法) System.out.println(this.name); // 加上关键字this访问子类的name(当前对象) System.out.println(super.name); // 加上关键字super访问父类的name // 访问方法 run(); // 这里是访问当前子类的方法 super.run(); // 访问父类的方法 } public void run(){ System.out.println("狗跑的很快"); }}