• 重载跟重写的区别


      重载方法是一个类中的多个方法,遵循以下原则:
    1、方法的参数列表不同,包括参数的类型或个数;
    2、方法的返回值类型、修饰符可以相同也可以不同;
    3、方法的返回值类型不能作为区分重载的标志。 
    package SE;
    
    public class Chongzai {
    
        public void disPlay(String name)
        {
            System.out.println(name+"  重载");
        }
        public void disPlay(int number)
        {
            System.out.println(number+"  重载");
        }
        protected void disPlay(String name,String place)
        {
            System.out.println(name+"  重载   "+place+"   重载");
        }
        public static void main(String[] args)
        {
            Chongzai chongzai=new Chongzai();
            chongzai.disPlay("xjf");
            chongzai.disPlay(19980309);
            chongzai.disPlay("xjf","shengyang");
        }
    }
    
    重载disPlay()方法, disPlay(String name)方法跟disPlay(int number)参数类型不同、访问权限相同,
    disPlay(String name)方法和disPlay(String name,String place)方法参数个数不同、访问权限不同,
    
    方法的重写是子类和父类之间的,遵循以下原则:
    1、子类中重写的方法必须和父类中重写的方法具有相同的方法名称、参数列表、和返回值类型
    2、子类重写的方法权限不能缩小
    3、重写方法不能抛出新的异常
    
    class  Dauther extends  Mother
    {
        public void disPlay(String name)
        {
            System.out.println(name+" 子类重写");
        }
        public Dauther ddd()
        {
    
            return null;
        }
    }
    class Mother
    {
        protected void disPlay(String name)
        {
            System.out.println(name+" 父类重写");
        }
        public Mother ddd()
        {
            return null;
        }
    }
    
    父类disPlay(String name)方法的权限protect小于子类disPlay(String name)方法的public权限。
    父类的ddd()方法返回值类型为Mother,子类ddd()方法返回值类型为 Dauther类型。父类返回值类型是子类返回值类型的父类。子类重写父类方法的返回值类型必须相同或者小于父类
  • 相关阅读:
    UVa12093
    UVa1631
    vue路由跳转的三种方式
    vue中的钩子函数(判断是否跳转页面)beforeEach
    vue中子组件向父组件传值方法?
    vue中对数组,对象的操作如下
    vue-router的beforeEach的使用?
    vue拦截器使用?
    vue中父子组件以及兄弟组件的传值情况?
    前端模块化?
  • 原文地址:https://www.cnblogs.com/dloading/p/10703680.html
Copyright © 2020-2023  润新知