zoukankan      html  css  js  c++  java
  • 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());
        }
    }
    复制代码

    执行结果:

  • 相关阅读:
    [转载]#2002 服务器没有响应 (或者本地 MySQL 服务器的套接字没有正确配置
    [转载]使用Cufon技术实现Web自定义字体
    [转载]Fedora14下MySQL、Apache、PHP、phpMyAdmin的安装步聚
    GUID的使用
    访问来源记录
    MongoDB数据库的基本概念
    域登录验证
    sql语法和MongoDB语法的对应关系
    ADO.NET数据集添加虚拟字段
    MongoDB开发常用资源地址
  • 原文地址:https://www.cnblogs.com/AceIsSunshineRain/p/5056292.html
Copyright © 2011-2022 走看看