重写与重载的相关理解


重写:子类对父类的方法进行重新的定义。(

当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你就要覆盖父类方法,

     即在子类中重写该方法——相同参数,不同实现(动态多态性)

一个方法的重写必须发生在具有继承关系的两个类中,即子类父类方法的重写

好比:老爸喜欢吃辣的东西,你继承了这个吃东西的功能,但是你喜欢吃甜的东西(重新定义吃东西)

例如:

 public class Father(){

public void eat(){

System.out.println("吃辣的");

}

}


class Son() exends Father{

public void eat(){

System.out.println("吃甜的");

}

}


public static  void main (String[] agrs){

 Father f = Son();

f.eat();

}

输出的是  吃甜的

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

重载:简单说,就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。

(就是同样的一个方法能够根据输入数据的不同,做出不同的处理,

  即方法的重载——有不同的参数列表(静态多态性))

参数不同是区分重载方法的关键。参数不同主要表现在以下几个方面。

 (1)参数类型不同。例如:

 public void method(String s);

 public void method(int s);

 (2)参数个数不同。例如:

 public void method(String s,int i);

 public void method(String s);

 (3)参数顺序不同。例如:

 public void method(String s,int i);

 public void method(int i ,String s);

例如:

class Cat 
{
    void eat(){};//method_2
    void eat(String fish){}; //method_3
}


结果:
 method_2与method_3: 
 重载关系,再加一个参数列表不同方法名相同的方法。 

猜你喜欢

转载自blog.csdn.net/weixin_40605986/article/details/78508728