Java方法重载和方法重写的区别介绍

来源:互联网 发布:office for mac 15.36 编辑:程序博客网 时间:2024/05/18 03:30

方法重载:
一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,或者是参数的个数或者类型不同。方法的返回类型和参数的名字不参与比较,也就是说如果两个方法的名字相同,即使类型不同,也必须保证参数不同。
示例:

class A{    int computer(int a,int b){        return a + b;    }    double computer(double a ,int b ){        return a*b;    }}public class E{    public static void main(String [] args){        A a = new A();        System.out.print(a.computer(10,26));//输出36        System.out.print(a.computer(10.0,26));//输出260.0    }}

方法重写:
如果子类可以继承父类的某个实例方法,那么子类就有权利重写这个方法。是指:子类中定义一个方法,这个方法的类型和父类的方法的类型一致或者是父类方法的类型的子类型,并且这个方法的名字、参数个数、参数的类型和父类的方法完全相同。
目的:子类可以通过方法的重写可以隐藏继承的方法,子类通过方法的重写可以吧父类的状态和行为改变为自身的状态和行为。
限制:重写父类方法是,不可以降低方法的访问权限。
示例:

class A{    void addClass(int a , int b,int c){        int sum = a + b + c;        if(sum>3){            System.out.print("sum>3");        }else{            System.out.print("sum<=3");        }    }}class B extends A{        void addClass(int a , int b,int c){        int sum = a + b + c;        if(sum>6){            System.out.print("sum>6");        }else        {            System.out.print("sum<=6");        }    }   }public class C{    public static void main(String [] args){        B b = new B();        b.addClass(1,1,1);        b.addClass(1,2,3);//升级判断方法,主要运用    }}
0 0
原创粉丝点击