1 /* 2 * 继承的好处: 3 * 1,提高了代码的复用性。 4 * 2,让类与类之间产生了关系,给第三个特征多态提供了前提。 5 * 6 * 7 * java中支持单继承。不直接支持多继承,但对c++中的多继承机制进行改良。 8 * 9 * 单继承:一个子类只能有一个直接父类。 10 * 11 * 多继承:一个子类可以有多个直接父类(java中不允许,进行改良) 12 * 不直接支持,是因为多个父类中有相同成员,会产生调用不确定性。 13 * *在java中是通过“多实现”的方式来体现*。 14 * 15 * java支持多层(多重)继承。 16 * 17 * C继承B,B继承A 18 * 就会出现继承体系。 19 * 20 * 当要使用一个继承体系时, 21 * 1,查看该体系中的顶层类,了解该体系的基本功能。 22 * 2,创建体系中的最子类对象,完成功能的使用。 23 * 24 * class Demo{ 25 * void show1(){} 26 * } 27 * 28 * class DemoA extends Demo{ 29 * // void show1(){}; 30 * void show2(){}; 31 * } 32 * 33 * class DemoB extends Demo{ 34 * // void show1(){}; 35 * void show2(){}; 36 * } 37 * 38 * 什么时候定义继承呢? 39 * 40 * 当类与类之间存在着所属关系的时候,就定义继承。xxx是yyy中的一种。xxx extend yyy 41 * 所属关系: is a ←关系 42 * 43 */ 44 class A{ 45 void show() { 46 System.out.println("a"); 47 } 48 } 49 class B{ 50 void show() { 51 System.out.println("b"); 52 } 53 } 54 class C extends A,B { 55 56 } 57 class Person{ 58 String name; 59 int age; 60 61 } 62 63 class Student extends/*继承*/ Person { 64 //String name; 65 //int age; 66 void study() { 67 System.out.println(name+"...student study.."+age); 68 } 69 } 70 class Worker extends Person { 71 //String name; 72 //int age; 73 void work() { 74 System.out.println("worker work"); 75 } 76 } 77 public class ExtendsDemo { 78 public static void main(String[] args) { 79 Student s = new Student(); 80 s.name = "zhangsan"; 81 s.age = 22; 82 s.study(); 83 84 } 85 }