zoukankan      html  css  js  c++  java
  • 方法重写

    什么是方法重写

     方法重写是父类与子类多态性的一种表现,如果子类中出现了一个名称与父类中的名称一样的方法,那么子类中的方法称作对父类中方法的重写

    举个例子

    class A{

        public void add()

        {

           System.out.println("add");

        }

    }

        public class B extends A{

        public void add()

        {

           System.out.println("方法重写add");

        }

        public static void main(String[] args) {

           A a=new B();

           a.add();

        }

    }

    输出结果为 方法重写add

    假如  A a=new A();

    a.    add();

    输出就是:add

    实例化的是哪个对象就调用哪个对象的方法

     

    假如这么写

    class A{

        public int add()

        {

           System.out.println("add");

             return 0;

        }

    }

        public class B extends A{

        public void add()

        {

           System.out.println("方法重写add");

        }

    }

    这样写 就会出现编译问题

     

    因为子类中出现了add方法  父类中也出现了add方法  编译器就会

    认为是方法重写 那么方法重写 返回值的类型就必须一摸一样

     

    方法重写的时候  子类与父类中方法的结构必须一致 就算添加 static等修饰符也要同步添加  安全修饰符也要同步  不能一个public 一个private  但是你可以在子类中加上final关键字

    也就是说:子类与父类中方法的结构必须一摸一样 除了方法体和final 关键字

     

     

     

  • 相关阅读:
    [django]media_url
    django部署到apache出现DLL load failed

    Django model relationship field
    python下划线变量的含义
    JavaScript 对象属性作实参以及实参对象的callee属性
    Javascript变长参数和默认参数
    JavaScript 数组
    JavaScript 操作对象属性(设置属性, setter/getter, 序列化)
    JavaScript 对象笔记
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9332110.html
Copyright © 2011-2022 走看看