Android(java)学习笔记59:类继承的 注意事项
1. 类继承的注意事项:
1 /* 2 继承的注意事项: 3 A:子类只能继承父类所有非私有的成员(成员方法和成员变量) 4 B:子类不能继承父类的构造方法,但是可以通过super(马上讲)关键字去访问父类构造方法。 5 C:不要为了部分功能而去继承 6 class A { 7 public void show1(){} 8 public void show2(){} 9 } 10 11 class B { 12 public void show2(){} 13 public void show3(){} 14 } 15 16 //我们发现B类中出现了和A类一样的show2()方法,所以,我们就用继承来体现 17 class B extends A { 18 public void show3(){} 19 } 20 这样其实不好,因为这样你不但有了show2(),还多了show1()。 21 有可能show1()不是你想要的。 22 23 那么,我们什么时候考虑使用继承呢? 24 继承其实体现的是一种关系:"is a"。 25 Person 26 Student 27 Teacher//老师是人,学生也是人 28 水果 29 苹果 30 香蕉 31 橘子//苹果是水果,香蕉也是水果,橘子也是水果 32 33 采用假设法。 34 如果有两个类A,B。只有他们符合A是B的一种,或者B是A的一种,就可以考虑使用继承。 35 */ 36 class Father { 37 private int num = 10; 38 public int num2 = 20; 39 40 //私有方法,子类不能继承 41 private void method() { 42 System.out.println(num); 43 System.out.println(num2); 44 } 45 46 public void show() { 47 System.out.println(num); 48 System.out.println(num2); 49 } 50 } 51 52 class Son extends Father { 53 public void function() { 54 //num可以在Father中访问private 55 //System.out.println(num); //子类不能继承父类的私有成员变量 56 System.out.println(num2); 57 } 58 } 59 60 class ExtendsDemo3 { 61 public static void main(String[] args) { 62 // 创建对象 63 Son s = new Son(); 64 //s.method(); //子类不能继承父类的私有成员方法 65 s.show(); 66 s.function(); 67 } 68 }
运行结果: