4.1.1继承的概念子类除了可以继承父类的属性和方法,也可以定义自己的属性和方法。案例二演示修改案例一,在子类Dog中增加属性color和相应的getter和setter方法具体代码如下所示1//定义Animal类2classAnimal..//省略案例一中Animal类的书写17)18//定义Dog类继承Animal类19class Dog extends Animal (20//声明color属性privateString color;21public String getColorof22return color;23124public void setColor(String color) f25this.color = color;26127)
子类除了可以继承父类的属性和方法,也可以定义自己的属性和方法。 修改案例一,在子类Dog中增加属性color和相应的getter和setter方法, 具体代码如下所示。 4.1.1 继承的概念 1// 定义Animal类 2class Animal { .//省略案例一中Animal类的书写 17} 18// 定义Dog类继承Animal类 19class Dog extends Animal { 20 private String color; // 声明color属性 21 public String getColor() { 22 return color; 23 } 24 public void setColor(String color) { 25 this.color = color; 26 } 27} 案例二演示
4.1.1继承的概念28/定义测试类29publicclassExample02f30public staticvoidmain(Stringll args)(31Dogdog=newDogO;//创建并实例化dog对象32dog.setName("牧羊犬")://此时访问的是父类Animal中的setter方法331/此时访问的是父类Animal中的setter方法dog.setAge(3);34dog.setColor("黑色")://此时访问的是Dog类中的setter方法35System.out.println("名称:"+dog.getName(+"年龄:"+dog.getAge0+"36颜色:"+dog.getColoro);3738)
4.1.1 继承的概念 28// 定义测试类 29 public class Example02 { 30 public static void main(String[] args) { 31 Dog dog = new Dog(); // 创建并实例化dog对象 32 dog.setName("牧羊犬"); // 此时访问的是父类Animal中的setter方法 33 dog.setAge(3); // 此时访问的是父类Animal中的setter方法 34 dog.setColor("黑色"); // 此时访问的是Dog类中的setter方法 35 System.out.println("名称:"+dog.getName()+",年龄:"+dog.getAge()+", 36 颜色:"+dog.getColor()); 37 } 38}
4.1.1继承的概念运行代码,控制台显示的运行结果如下图所示。案例二运行结果文Example02xRun:"C:lProgramFileslJavaljdk-1l..1ilbinljava.exe'名称:牧羊犬,年龄:3,颜色:黑色Processfinished withexitcodee注意:子类虽然可以通过继承访问父类的成员和方法,但不是所有的父类属性和方法都可以被子类访问。子类只能访问父类中public和protected修饰的属性和方法,父类中被默认修饰符default和private修饰的属性和方法不能被子类访问
4.1.1 继承的概念 案例二运行结果 运行代码,控制台显示的运行结果如下图所示。 注意:子类虽然可以通过继承访问父类的成员和方法,但不是所有的父类属性和方法都可 以被子类访问。子类只能访问父类中public和protected修饰的属性和方法,父类中被默 认修饰符default和private修饰的属性和方法不能被子类访问
4.1.1继承的概念访问范围defaultpublicprotectedprivate同一类中同一包中子类中全局范围
访问范围 private default protected public 同一类中 ✓ ✓ ✓ ✓ 同一包中 ✓ ✓ ✓ 子类中 ✓ ✓ 全局范围 ✓ 4.1.1 继承的概念
4.1.1继承的概念类的继承注意事项(1)在Java中,类只支持单继承,不允许多继承。也就是说一个类只能有一个直接父类。例如下面这种情况是不合法的。class A0class BOclassCextendsA,B0//C类不可以同时继承A类和B类
4.1.1 继承的概念 类的继承注意事项 (1)在Java中,类只支持单继承,不允许多继承。也就是说一个类只能有一 个直接父类。例如下面这种情况是不合法的。 class A{} class B{} class C extends A,B{} // C类不可以同时继承A类和B类