• java方法重载 与 重写


    class ChongZai{

      public void a(int a);

      public void a(Strting a);

      public void a(int a,int b);

    }

    如上就是一个重载了 而重载要满足一下条件:

    1.必须是同一个类

    2.方法名(也可以叫函数)一样

    3.参数类型不一样或参数数量不一样

    重载的作用:

    还是以上面的例子

    ChongZai cz =new ChongZai();

    cz.a(1); //调用a(int a);

    cz.a("传的参数"); //调用a(String a)

    cz.a(1,2); //调用a(int a,int b)

    上面已经说了调用哪个方法了 而这个调用方法是程序按照你输入的参数来判断调用哪个方法的

    重载的功能:

    就比如说你做游戏 那么可能游戏可以有多个人完 而完的人数又不确定是几个人 那么就可以用到重载了

    比如说最多3个人完 那么你可以定义3个参数

    public void a(String a);

    public void a(String a,String b);

    public void a(String a,String b,String c);

    两个人那么你就调用2个参数的方法 3个人你就调用3个参数的方法

    方法的重写:

    1、在子类中可以根据需要对从基类中继承来的方法进行重写。

    2、重写的方法和被重写的方法必须具有相同方法名称、参数列表和返回类型。

    3、重写方法不能使用比被重写的方法更严格的访问权限。

    程序code:

    复制代码
    class Person{
        private int age;
        private String name;
        
        public void setAge(int age){
            this.age = age;
        }
        public void setName(String name){
            this.name = name;
        }
        public int getAge(){
            return age;
        }
        public String getName(){
            return name;
        }
        
        public String getInfo(){
            return "Name is:"+name+",Age is "+age;
        }
    }
    class Student extends Person{
        private String school;
        
        public void setSchool(String school){
            this.school = school;
        }
        public String getSchool(){
            return school;
        }
        public String getInfo(){
            return "Name is:"+getName()+",Age is "+getAge()+",School is:"+school;
        }
    }
    public class TestOverRide{
        public static void main (String args[]){
            Student student = new Student();
            Person person = new Person();
            person.setAge(1000);
            person.setName("lili");
            
            student.setAge(23);
            student.setName("vic");
            student.setSchool("shnu");
            
            System.out.println(person.getInfo());
            System.out.println(student.getInfo());
        }
    }
    复制代码

    执行结果:

  • 相关阅读:
    jdk .tar.gz 包安装 inAction
    Consistent Hashing原理与实现
    开放GitHub的理由
    dll signing issue
    Regular expression cheat sheet
    DOMElement之Offset
    扫码支付测试点
    SQL注入是什么?如何防止?
    什么是接口测试?为什么要做接口测试?如何开展接口测试?
    软件测试的常识
  • 原文地址:https://www.cnblogs.com/AceIsSunshineRain/p/5056292.html
Copyright © 2020-2023  润新知