重载(overloading)和重写(overriding)

重载(overloading)和重写(overriding)重载和重写都是针对方法的概念 在弄清楚这两个概念之前 我们先来了解一下什么叫方法的型构 英文名是 signature 有的译作 签名 虽然它被使用的较为广泛 但是这个翻译不准确的

大家好,欢迎来到IT知识分享网。

重载和重写都是针对方法的概念,在弄清楚这两个概念之前,我们先来了解一下什么叫方法的型构(英文名是signature,有的译作“签名”,虽然它被使用的较为广泛,但是这个翻译不准确的)。型构就是指方法的组成结构,具体包括方法的名称和参数,涵盖参数的数量、类型以及出现的顺序,但是不包括方法的返回值类型,访问权限修饰符,以及abstract、static、final等修饰符。

1.比如下面两个就是具有相同型构的方法:


  1. public void method(int i, String str) {
  2. }
  3. public String method(int i, String str) {
  4. }

2.下面 两个就是具有不同型构的方法


  1. public void method(int i, String str) {
  2. }
  3. public void method(int i, double b) {
  4. }

1.返回类型可以不同

你可以任意地改变重载方法的返回类型,只要所有的覆盖使用不同的参数即可

2.不能只改变返回类型


  1. package cn.edu.hpu.example;
  2. public class Haha {
  3. public int sum(int num1, int num2) {
  4. return num1 + num2;
  5. }
  6. public double sum(int num1, double num2) {
  7. int sum = num1 + (int) num2;
  8. return sum + 2;
  9. }
  10. }
 

二,方法的重写

一个类M继承另一个类N,N中有一个方法A,这时你在M写了一个方法B,方法B的名字、返回值以及参数都和A一样,此时B重写了A。


  1. public class Father {
  2. public void Song() {
  3. System.out.println("this is father's sing");
  4. }
  5. }

  1. public class Son extends Father{
  2. @Override
  3. public void Song() {
  4. // TODO Auto-generated method stub
  5. System.out.println("this is son' sing");
  6. }
  7. }

  1. public static void main(String[] args) {
  2. Father f = new Father();
  3. f.Song();
  4. Father s = new Son();
  5. s.Song();
  6. }

重载(overloading)和重写(overriding)_重载的英文缩写-CSDN博客

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/130962.html

(0)
上一篇 2025-08-11 16:45
下一篇 2025-08-11 17:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信