方法重写

参考这个总结一下到这里:

056-基础语法-面向对象-方法重写-小练习_哔哩哔哩_bilibili

示例1:

 1 public class DemoClass4Extends_1 {
 2     public static void main(String[] args) {
 3         cc c = new cc();
 4         System.out.println(c.sum()); // 结果:20
 5     }
 6 }
 7 
 8 class cc{
 9     int i = 10;
10     int sum(){
11         return i + 10;
12     }
13 }
14 
15 class dd extends cc {
16     int i = 20;
17     int sum(){
18         return i + 20;
19     }
20 }

 

示例2:

 1 public class DemoClass4Extends_1 {
 2     public static void main(String[] args) {
 3         dd d = new dd();
 4         System.out.println(d.sum()); // 结果:40
 5     }
 6 }
 7 
 8 class cc{
 9     int i = 10;
10     int sum(){
11         return i + 10;
12     }
13 }
14 
15 class dd extends cc {
16     int i = 20;
17     int sum(){
18         return i + 20;
19     }
20 }

 

示例3:

 1 public class DemoClass4Extends_1 {
 2     public static void main(String[] args) {
 3         //一个对象能使用什么方法,取决于引用变量的类型
 4         //一个对象的方法具体的使用是需要看具体的对象的
 5         cc d = new dd();
 6         System.out.println(d.sum()); // 结果:40
 7     }
 8 }
 9 
10 class cc{
11     int i = 10;
12     int sum(){
13         return i + 10;
14     }
15 }
16 
17 class dd extends cc {
18     int i = 20;
19     int sum(){
20         return i + 20;
21     }
22 }

 

示例4:

 1 public class DemoClass4Extends_1 {
 2     public static void main(String[] args) {
 3         //一个对象能使用什么方法,取决于引用变量的类型
 4         //一个对象的方法具体的使用是需要看具体的对象的
 5 
 6         //一个对象的属性具体的使用是不需要看具体的对象的,属性在哪里声明就在哪里使用
 7         cc d = new dd();
 8         System.out.println(d.sum()); // 结果:20
 9     }
10 }
11 
12 class cc{
13     int i = 10;
14     int sum(){
15         return i + 10;
16     }
17 }
18 
19 class dd extends cc {
20     int i = 20;
21 //    int sum(){
22 //        return i + 20;
23 //    }
24 }

 

示例5:

public class DemoClass4Extends_1 {
    public static void main(String[] args) {
        //一个对象能使用什么方法,取决于引用变量的类型
        //一个对象能使用什么属性,取决于引用变量的类型

        //一个对象的方法具体的使用(直接、间接)是需要看具体的对象//一个对象的属性具体的使用是不需要看具体的对象的,属性在哪里声明就在哪里使用
        cc d = new dd();
        System.out.println(d.sum()); // 结果:30
    }
}

class cc{
    int i = 10;
    int sum(){
        return getI() + 10;
    }
    int getI(){
        return i;
    }
}

class dd extends cc {
    int i = 20;
//    int sum(){
//        return i + 20;
//    }
    int getI(){
        return i;
    }
}

 

posted @ 2025-10-10 18:08  字节虫  阅读(9)  评论(0)    收藏  举报