zoukankan      html  css  js  c++  java
  • 如何区分Java中的方法重载和重写

    首先说的是重载:

    方法的重载
    * 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。

    * 参数列表不同:
    * A:参数个数不同
    * B:参数类型不同
    * C:参数的顺序不同(不算重载 报错)
    *如何区分:
    参数个数不一样 或者参数的类型不一样
    重载和返回值类型无关 和参数名无关
    技巧:重载看方法名和参数列表

     1 public class MethodDemo3{
     2     /*方法的重载
     3         * 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
     4 
     5         * 参数列表不同:
     6             * A:参数个数不同
     7             * B:参数类型不同
     8             * C:参数的顺序不同(不算重载  报错)
     9         *如何区分:
    10              参数个数不一样   或者参数的类型不一样
    11              重载和返回值类型无关   和参数名无关
    12              技巧:重载看方法名和参数列表
    13     */
    14     //主方法调用
    15     public static void main(String[] args){
    16         System.out.println(getSum(1,2,3));
    17     }
    18     //包含两个参数
    19     public static int getSum(int a,int b){
    20         System.out.println("两个参数");
    21         return a+b;
    22     }
    23     //包含三个参数
    24     public static int getSum(int a,int b){
    25         System.out.println("三个参数");
    26         return a+b+c;
    27     }
    28     //重载跟数据类型无关,这个是double型
    29     public static double getSum(double a,double b,double c){
    30         System.out.println("三个参数");
    31         return a+b+c;
    32     }
    33 }

    重写:

    在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量。

    1.目前的问题:父类的功能无法满足子类的需求。

    2.方法重写的前提: 必须要存在继承的关系。

    3.方法的重写: 子父类出了同名的函数,这个我们就称作为方法的重写。

    4.什么是时候要使用方法的重写:父类的功能无法满足子类的需求时。

    1.方法重写时, 方法名与形参列表必须一致。
    2.方法重写时,子类的权限修饰符必须要大于或者等于父类的权限修饰符。
    3.方法重写时,子类的返回值类型必须要小于或者 等于父类的返回值类型。
    4.方法重写时, 子类抛出的异常类型要小于或者等于父类抛出的异常类型。 Exception(最坏) RuntimeException(小坏)

    父类:
    public class father {
       void eat(){
           System.out.println("父亲吃了");
          
       }
    }
    子类继承父类:
    public class son extends father{
        void eat() {
         System.out.println("儿子吃了");
         
    }
    }
    重写:
    public class chongxie {
       public static void main(String[] args) {
        father father= new father();
        son son = new son();
    
        father.eat();
        son.eat();
        
    }
    }
  • 相关阅读:
    rpmdb open failed 的解决办法
    centos7 搭建vsftpd服务并锁定用户的家目录
    centos7 搭建samba服务
    python检测是否为数字
    python的random模块
    利用python编写一个简单的猜数字游戏
    在centos7中利用kvm创建虚拟机并设置为桥接模式
    支付宝提现
    冒泡排序(数组排序)
    全选获取对应值
  • 原文地址:https://www.cnblogs.com/yanpingping/p/10512819.html
Copyright © 2011-2022 走看看