zoukankan      html  css  js  c++  java
  • 重载跟重写的区别

      重载方法是一个类中的多个方法,遵循以下原则:
    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类型。父类返回值类型是子类返回值类型的父类。子类重写父类方法的返回值类型必须相同或者小于父类
  • 相关阅读:
    SugarCRM 主表自定义字段日期型
    算法导论46 VLSI芯片测试
    算法导论14.18
    算法导论13.24
    poj1980 Unit Fraction Partition **
    算法导论5.12
    算法导论76 对区间的模糊排序
    红黑树(redblack tree)算法,附AVL树的比较
    poj1856 Sea Battle *
    算法导论42 找出所缺的整数
  • 原文地址:https://www.cnblogs.com/dloading/p/10703680.html
Copyright © 2011-2022 走看看