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 }

运行结果:

原文地址:https://www.cnblogs.com/hebao0514/p/4631023.html