zoukankan      html  css  js  c++  java
  • java方法的重载与重写

    1.重载(overloading)

    即方法的重新加载。对于一个类,这个类里有两个或多个重名的方法,但是这些方法的参数的个数、类型不同,就构成了方法的重载。

     如:

    public class A {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int x=0;
            int y=0;
            double z=0.0;
            A.methodA(x);
            A.methodA(x,y);
            A.methodA(z);
            
        }
        public static void methodA(int x){
            x=1;
            System.out.println(x);
        }
        public static void methodA(int x,int y){
            x=1;
            y=2;
            System.out.println(x+y);
        }
        public static void methodA(double x){
            x=3.0;
            System.out.println(x);
        }

    结果如下:


    重载的特点:同一个类中,方法名相同,但参数不同(参数的类型、参数的个数)

    java面向对象基础中构造函数---空参构造和全参构造,就是方法的重载,是面向对象中多态的一种表现。

    2.重写(override),也可以叫做覆写,即覆盖了一个方法并对其重写,这个方法是父类中的方法,它继承了父类的方法并对父类方法进行重写。

    如:

    public class A {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int x=0;
            B.methodA(x);
        }
        
        public static void methodA(int x){
            x=1;
            System.out.println(x);
        }
        public static class B extends A{
        }
    }

    结果如下:

    class B继承了来自classA的方法methodA()

    public class A {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int x=0;
            A.methodA(x);
            B.methodA(x);
        }
        
        public static void methodA(int x){
            x=1;
            System.out.println(x);
        }
        public static class B extends A{
            public static void methodA(int x){
                x=2;
                System.out.println(x);
            }
        }
    }

    结果如下:

    子类(B类)class B中的方法methodA()覆盖了继承自父类(A类)的方法methodA()

    重写的特点:子类方法继承自父类,具有与父类不同的方法

  • 相关阅读:
    010 排序: 冒泡 选择
    洛谷 P1540 机器翻译
    洛谷 P1011 车站
    周期串
    2019.03.29 大数据图解
    2019.03.29 算法解读
    2019.03.28 博客反省
    2019.03.27 常用的模块
    2019.03.25 git
    2019.03.25 Ajax三级联动
  • 原文地址:https://www.cnblogs.com/1960366876tZ/p/8685965.html
Copyright © 2011-2022 走看看