Java重写、覆盖、重载

Java重写、覆盖、重载

首先说明一下,重写与覆盖是同一个概念,重写==覆盖。这里主要叙述一下重载,重写(覆盖)简单聊一下。

重写(覆盖)

重写一般来说就是将父类的方法重新实现。
下面简单展示一下,直接上代码 内联代码片

class A{  
  public String a(){  
     return "A-a"; 
  }
  public String b(){   
     return "A-b"; 
  }
}
      
class B extends A{    
  public String a(){  
     return "B-a"; 
  }
}
           
public class a12 {  
  public static void main(String[] args) {  
        A a = new A();  
        B b = new B();   
        System.out.println(a.a());   
        System.out.println(b.a());  
        System.out.println(b.b());   
   }
}

这里是运行结果
运行结果
这里a.a()很好理解,就是调用了A类的方法 。
简单说一下后两个,由于B继承了A,A中的两个方法B同时也被B继承。所以B可以调用A中的两个方法,又因为B重写了A中的a方法,所以第二条显示B方法中的B-a,而A中的b方法未被重写,所以第三条仍是A-b。这里有介绍重写的基本规则: https://blog.csdn.net/ericbaner/article/details/3857268?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.

重载

重载的三个条件:
(1)参数数量不同
(2)参数类型不同
(3)参数数量相同的情况下,参数位置不同

这里展示代码

class P{
    public String A(){
            return "A";
    };
    public String A(int a){
            return "A-a";    
    };
    public String A(int a,String b){
            return "A-int a-String b";    
    };
    public String A(String a,int b){
            return "A-String a-int b";    
    };
    public int A(String b){
            return 9999;   
    };
}
public class a12 {
    public static void main(String[] args) {
            P p = new P();        
            System.out.println("1--"+p.A());        
            System.out.println("2--"+p.A(1));        
            System.out.println("3--"+p.A(1, "2"));        
            System.out.println("4--"+p.A("2", 1));        
            System.out.println("5--"+p.A("1"));
    }
}

这里是运行结果

1--A
2--A-a
3--A-int a-String b
4--A-String a-int b
5--9999

编译器会根据所给参数的不同自主选择对应的函数进行调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值