【重载、重写 和 多态】 JAVA

来源:互联网 发布:数据库字段值拆分 编辑:程序博客网 时间:2024/05/04 12:51

重载:

方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。

重载Overloading是一个类中多态性的一种表现。

Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。
调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。

注意:

不同的参数类型可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不一样)

重写:

父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数和返回值类型,我们说该方法被重写 (Overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。
但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。
方法重写又称方法覆盖。

注意:

1、重写方法的访问修饰符一定要大于被重写方法的访问修饰符(public>protected>default>private)
2、重写的方法所抛出的异常必须和被重写方法的所抛出的异常一致,或者是其子类;
3、被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行重写。
4、静态方法不能被重写为非静态的方法(会编译出错)

多态:

多态性是面向对象编程的一种特性,和方法无关,
简单说,就是同样的一个方法能够根据输入数据的不同,做出不同的处理,即方法的
重载——有不同的参数列表(静态多态性)
而当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你就要覆盖父类方法,
即在子类中重写该方法——相同参数,不同实现(动态多态性)

原创粉丝点击