继承

发布时间:2022-06-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了继承脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1.继承解决的问题:共性的抽取  。父类(基类,超类),子类(派生类)

 1 public class Employee {
 2     public void method(){
 3         System.out.println("方法执行!");
 4     }
 5 }
 6 
 7 
 8 public class Teacher extends Employee {
 9 
10 
11 }
12 
13 
14 
15 public class Demo01Extends {
16     public static void main(String[] args) {
17         Teacher te = new Teacher(); //创建一个子类对象
18         te.method(); //teacher类中虽然没有方法,但是会继承父类中的method方法
19 
20     }
21 }

2.继承中成员变量的访问

 1 public class Fu {
 2     int numFu = 10;
 3     int num = 100;
 4     public void methodFu(){
 5         System.out.println("父类方法执行:"+num); //使用的是本类当中的方法,不会向下去找子类。
 6     }
 7 
 8 }
 9 
10 
11 
12 public class Zi extends Fu{
13     int numZi = 20;
14     int num = 200;
15     public void methodZi(){
16         System.out.println("子类方法执行"+num); //本类中参数,不会向上去找
17     }
18 }
19 
20 
21 
22 public class Demo02Extends {
23     public static void main(String[] args) {
24         Fu f = new Fu(); //创建父类对象
25         System.out.println(f.num);//只能使用父类的东西,没有子类的内容
26 
27         Zi z = new Zi();
28         System.out.println(z.numFu);
29         System.out.println(z.numZi);
30         System.out.println("_________________");
31 
32         //等号左边是谁,优先用谁
33         System.out.println(z.num); //优先子类:200
34         z.methodFu();  //这个方法是在父类中定义的,子类继承调用父类方法。
35         z.methodZi(); //这个方法是子类的,优先用子类的
36     }
37 }

3.区分子类方法中重名的三种变量

public class Fu3 {
    int num = 10;
}

public class Zi3 extends Fu3{
    int num = 20;
    public void method(){
        System.out.println(num); //局部变量:直接写成员变量名
        System.out.println(this.num); //本类的成员变量:this.成员变量
        System.out.println(super.num); //父类的成员变量:super.成员变量
    }

}



public class Demo03Extends {
    public static void main(String[] args) {
        Zi3 z3 = new Zi3();
        z3.method();
    }
}

4.继承中成员方法的访问特点

 1 public class Fu4 {
 2     public void methodFu(){
 3         System.out.println("父类方法执行");
 4     }
 5     public void method(){
 6         System.out.println("父类重名方法执行");
 7     }
 8 }
 9 
10 
11 
12 public class Zi4 extends Fu4 {
13     public void methodZi(){
14         System.out.println("子类方法执行");
15     }
16     public void method(){
17         System.out.println("子类重名方法执行");
18     }
19 }
20 
21 
22 
23 //在父子类的继承关系中,创建子类对象,访问成员方法的规则:创建的对象是谁,就优先用谁,如果没有则向上找
24 //注意事项:无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类的。
25 public class Demo04Extends {
26     public static void main(String[] args) {
27         Zi4 z4 = new Zi4();
28         z4.methodZi();
29         z4.methodFu();
30 
31         z4.method(); //创建的是new了子类的对象,所以优先使用子类方法。
32 
33     }
34 }

 

脚本宝典总结

以上是脚本宝典为你收集整理的继承全部内容,希望文章能够帮你解决继承所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: