zoukankan      html  css  js  c++  java
  • Java-方法的重载和重写

    1.什么是方法?

    在java编程中,实现某一功能的代码执行语句集合统称叫方法。

    语法:

    修饰符 返回值类型 方法名([参数类型 参数名1,参数类型 参数名2,...]){
    执行语句
     ......
    return 返回值;
    }

    修饰符:方法的修饰符比较多,有对访问权限进行限制的,有静态修饰符static,还有最终修饰符final等;

    返回值类型:用于限定方法返回只得数据类型,简而言之,就是return 后面的返回值类型和方法定义的返回值类型保持一致。

    参数类型:用于限定调用方法时传入参数的数据类型;

    参数名:是一个变量,用于接受调用方法时传入的数据。

    return关键字:用于结束方法以及返回方法指定类型的值,其中该值会被返回给调用者;

    返回值:方法的返回值,会有两种情况:

      a.有返回值:返回值类型和方法定义的返回值类型一致,通过关键字return 实现返回操作。

      b.无返回值:方法的返回值类型声明为void,方法中的return 关键字可以要也可以不要。

    2.方法的重载

    目标:简化同一功能,不同情况的方法调用操作。

    定义:在同一个类中,创建多个方法,它们名称必须相同,但参数的类型/个数/顺序至少有一项是不同,而方法的修饰符和返回值类型可以不同,这就是方法的重载。

    方法的重载从面向对象来看,实现了对象的多态特征。

    package com.m.demo02.view;
    
    public class Example {
    
        public static void main(String[] args) {
            //方法的调用
            int sum1=add(1,2);
            int sum2=add(1,2,3);
            double sum3=add(1.2,2.3);
            System.out.println("两个整数相加:sum1="+sum1);
            System.out.println("三个整数相加:sum2="+sum2);
            System.out.println("两个小数相加:sum3="+sum3);
        }
        
        //定义方法实现两个整数相加
        public static int add(int x,int y){
            return x+y;
        }
        
        //定义同名方法,实现三个整数相加
        public static int add(int x,int y,int z){
            return x+y+z;
        }
    
        //定义同名方法,实现两个小数相加
        public static double add(double x,double y){
            return x+y;
        }
    }

    3.方法的重写

    重写,顾名思义,重写编写覆盖。

    定义:在Java编程中,子类继承父类的方法后,对其方法进行重新编写实现父类没有的特性,这种操作就是重写。

    注意:

      a.重写发成的条件,必须存在继承关系。

      b.子类中重写的方法需要和父类被重写的方法具有相同的方法名、参数列表以及返回值类型。

      c.  子类的访问权限修饰符需要大于或等于父类的访问权限修饰符。

    package com.m.demo02.view;
    
    //定义Animal类
    public class Animal {
    
        //定义动物叫的方法
        void shout(){
            System.out.println("动物发出叫声");
        }
    }
    
    //定义Dog类继承动物类
    
    class Dog extends Animal{
        //重写Animal中shout方法,重新编辑定义为狗叫的方法
        void shout(){
            System.out.println("汪汪......");
        }
    }
    
    //测试类
    public class Example {
    
        public static void main(String[] args) {
            //创建Dog类的实例对象
            Dog dog = new Dog();
                    //调用dog类的实例对象
            dog.shout();
        }    
    }
        
  • 相关阅读:
    数据库Connection.OPEN()异常情况下 耗时很久才回应
    System.Threading.Tasks.TaskExceptionHolder.Finalize() 系统错误c#
    WCF双向通讯netTCP
    并行LINQ PLinq
    winform调用http
    kindle电子书的资源网站
    vscode设置中文语言
    Python拼接路径
    Python查看已安装模块
    Python查看模块版本
  • 原文地址:https://www.cnblogs.com/momo-nancy/p/15112794.html
Copyright © 2011-2022 走看看