关于Java的方法重载与重写

本文介绍了Java中的方法重载(Overload)和重写(Override)概念。方法重载关注于参数列表的不同,包括参数个数、类型或顺序的差异。而方法重写发生在继承关系中,子类对父类方法的重新定义,保持方法名和参数列表完全一致,但实现可能不同。在方法重写时,子类权限不能低于父类。通过示例代码详细展示了这两种机制的使用。
摘要由CSDN通过智能技术生成

一、方法重载(Overload)

方法重载又称静态多态:一个东西在不同情况下呈现的状态。

(1)方法参数个数不同。

class Demo{
    int test(int a){
        return a >0?a: - a;
    }
    int test(int b,int c){
        return a >0?a: - a;
        return b >0?a: - b;
    }
}

(2)方法参数个数相同,但类型不同。

class Demo{
    int test(int a){
        return a >0?a: - a;
    }
    double test(double a){
        return a >0?a: - a;
    }
}

(3)方法参数个数和类型都相等,但参数在参数表中顺序不同。

class Demo{
    int test(int a,int b){
        return b >0?a: - b;
        return a >0?a: - a;
    }
    int test(int c,int d){
        return c >0?a: - c;
        return d >0?a: - d;
    }
}

二、方法重写(Override)

方法重写:一般表示父类与子类同时使用一个完全相同方法,调用时为子类的方法。

class Father  {
    protected String name;
//这
    public void show(){
        System.out.println("Father.show()");
    }
}

class Son extends Father{
    private String sonName;
    public Son(String name,String sonName){
        this.name=name;
        this.somName=sonName;
    }
//这
    public void show(){
        System.out.println("Son.show()");
    }
}
    public class Main{
        public static void main(String[] args){
            Son xs =new Son("父名"、"子名");
            xs.show();
        }
    }

当前条件下若需使用父类的方法,就使用“super.函数名”。

......
  class Son extends Father{
    private String sonName;
    public Son(String name,String sonName){
        this.name=name;
        this.somName=sonName;
    }
//这
    public void show(){
        super.show();
        System.out.println("Son.show()");
    }
}

注:子类的权限不能比父类更严格。例如,父类权限为public,子类就不能为protecte。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值