java 中重载 和重写的含义

package duotai;
/* 继承是子类继承父类的方法;
* 重写(override)是子类重写父类允许访问的方法。返回值和参数类型必须相同.(存在于子类和父类中)
*
* 重载(overload)就是允许多个同名但是形参个数或者类型不同的函数方法存在于同一个类里。(一个类中的不同方法)
* 当类统一调用方式时由形参来决定调用具体的方法。
* 重载的方法主要通过 形参的个数,参数的数据类型和参数的顺序等方面的不同来区分
*/

  // 方法的重载
public class Overload {
    int add ( int a, int b ){
        return (a+b);//返回值是 a+b,返回类型依然是 int型
    }
    double add(double x,double y){
        return (x+y);// 返回值 是x+y,返回类型依然是 double
    }
    /*以上两个方法中的 形参a,b,x,y都无实际意义.
      方法名(add)相同,数据类型不一样,这就构成了 方法的 重载*/
}

方法的继承

package duotai;
//这是一个公共类 father(这里是父类)
public class Father {
    public void face() { // 定义一个方法face()
        System.out.println("这是父类");
    }
}

这是另一个类Child(这里看做子类)
//第一种情况:(子类中什么都不写)

package duotai;

public class Child extends Father {//这里涉及了一个extends (继承的关键字)-- 子类继承 父类
//这里什么内容也没有写,只是创建了一个类
}

/*
第二种情况:
如果在子类里面输出一句话
package duotai;

public class Child extends Father {//这里涉及了一个extends (继承的关键字)-- 子类继承 父类
public void face() {
    System.out.println("这是子类");//这里输出一句话
}
}
*/------------------------------

再创建一个测试类(含main()函数)
package duotai;

public class Test {
public static void main(String[] args) {
Father father =new Father();//创建一个对象father
father.face();//调用face方法
Child child =new Child();//创建一个对象 child
child.face();//调用face方法
//注意:Child类中是什么都没有写的,只是一个空类
}
}

第一种情况输出结果:  
                   这是父类
               这是父类
第二种情况输出结果:   这是父类
               这是子类

尽管子类中没有内容,它依然可以继承父类的所有内容(属性和方法).
但是,子类可以改变 继承父类方法的内容,这就是重写(也叫覆写)
子类中除了继承父类的内容,还有其本身特有的属性和方法

猜你喜欢

转载自blog.csdn.net/weixin_42785557/article/details/81835774
今日推荐