zoukankan      html  css  js  c++  java
  • Java零基础-方法的重载与覆盖

    方法语法结构:

    [修饰符列表] 返回值类型 方法名(参数列表){

    方法体;

    }

    例:

    1 public static void main(String[] args){
    2     System.out.println("HelloWorld");
    3 }

    注:修饰符列表不是必须的。

    方法的重载/Overload

    方法重载又被称为:overload。如果多个方法的功能相似,则可以考虑使用方法重载。

    在同一个类中,方法名相同,参数列表不同(参数数量不同、参数顺序不同、参数类型不同),则构成方法重载。

    方法重载与方法的返回值无关。

    例:

     1 public class OverloadTest{
     2     //以下两个方法构成重载
     3     public static void m1(){}
     4     public static void m1(int a){}
     5 
     6     //以下两个方法构成重载
     7     public static void m2(int a,double b){}
     8     public static void m2(double a,int b){}
     9 
    10     //以下两个方法构成重载
    11     public static void m3(int x){}
    12     public static void m3(double x){}
    13 
    14     //以下两个方法不构成重载,而是方法重复
    15     //public static void m4(int x,int y){}
    16     //public static void m4(int y,int y){}
    17 
    18     //以下两个方法不构成重载
    19     /*public static void m5(int x){}
    20     public static int m5(int x){
    21         return 1;
    22     }*/
    23 }

    方法的覆盖/Override

    方法覆盖又被称为方法重写。当父类中的方法已经无法满足当前子类的需要,子类有必要将父类中继承过来的方法重新编写,这个重新编写的过程称为方法的重写/覆盖。

    构成方法重写的条件为:

    方法重写发生在具有父子关系的父子类之间,重写的方法返回值类型相同,方法名相同,型参列表相同;

    方法重写的时候,访问权限不能更低,可以更高。如:父类中方法为public,则子类中重写的方法不能为private;父类中方法为protected,则子类中重写的方法可以为public;

    方法重写的时候,抛出的异常不能更多,只能更少。

    例:

    1 public class Animal{
    2    public void move(){
    3          System.out.println("动物在移动");
    4     }
    5 }
    1 public class Cat extends Animal(){
    2     public void move(){
    3         System.out.println("猫在爬树。");
    4     }
    5 }
    1 public class Bird extends Animal(){
    2     public void move(){
    3         System.out.println("鸟儿在飞翔。");
    4     }
    5 }

    注意:

    私有方法不能继承,所以不能覆盖;构造方法不能继承,所以不能覆盖;静态方法不存在覆盖。

    覆盖只针对方法,不针对属性。

    世界旋转着我们的生命,一天一天的接近死亡。
  • 相关阅读:
    hdu3667 Transportation 费用与流量平方成正比的最小流 拆边法+最小费用最大流
    最小费用最大流模板
    poj3020 Antenna Placement 匈牙利算法求最小覆盖=最大匹配数(自身对应自身情况下要对半) 小圈圈圈点
    Risk UVA
    poj2391 Ombrophobic Bovines 拆点+二分法+最大流
    Taxi Cab Scheme UVALive
    Guardian of Decency UVALive
    Redis Server监控
    查看mysql二进制文件(binlog文件)
    mysql主从复制错误:A slave with the same server_uuid/server_id as this slave has connected to the master;
  • 原文地址:https://www.cnblogs.com/zhaozhg/p/14433145.html
Copyright © 2011-2022 走看看