zoukankan      html  css  js  c++  java
  • 重写(Override)——Java面向对象基础(16)

    一、重写简介

      1.子类重新写父类的方法,相当于覆盖父类的方法,自己编写替换掉之前的。

      2.条件:

        (1)重写是在子类继承父类的情况下使用

        (2)子类的方法名称必须和父类相同

        (3)方法的参数类型、个数、顺序要一致

        (4)返回的参数类型必须等于父类返回类型(子类返回的类型小于父类的返回类型)

        (5)访问修饰符必须不小于父类中的访问修饰符

        (6)子类中重写的异常不能抛出比父类更多的异常

      3.规范使用Override

    public class Father{
        int money=500;
        public void fatherDo(){
            System.out.println("父类的方法");
        }
    }
    public class Son extends Father{
        int money=300;
        @Override
        public void fatherDo(){
            System.out.println("重写父类的方法");
            
        }
    }

      4.关于2中的(4)

        (1)这里返回类型之间的大小指的是,类的继承关系的顺序父类大于子类。而非数据类型的大小。

         (2)需要注意的是八大基本数据类型与其他引用类型应该分开讨论

     

     

       5.关于2中的(5)

        1.需要注意,如果父类中的方法为私有类型(private)那么是无法重写的。私有方法只有父类自身可以使用,子类无法调用。

         2.私有方法只有父类自身可以使用,子类无法调用。如果子类写一个一样方法名(包括参数)的方法,那么就不要使用@override,因为当前不是重写,而是相当于写一个新的方法

     

     

     二、方法重写(Override)和方法重载(Overload)的区别

      1、方法重载Overload关注当前类中的方法,而方法重写是关注子类与父类(继承)。

      2、方法重载Overload中方法名称相同,但是参数个数、类型、顺序不同。在方法重写Override中方法名称、参数个数、类型、顺序必须相同。

      3、方法重载Overload不需要关注返回类型,但是在方法重写Override中子类的返回类型必须与父类相同(子类返回的类型小于父类的返回类型)。

      4、方法重载Overload不需要关注访问权限修饰符,但是在方法重写Override中子类的访问权限修饰符必须等于或者增大,不能缩小。

  • 相关阅读:
    JAVA基础集合(二)
    JAVA基础XML的解析
    JAVA基础集合(一)
    JAVA基础网络编程
    JAVA基础File类
    JAVA基础IO流(二)
    JAVA基础JDBC二(常用的开源工具)
    JAVA基础异常
    JAVA基础JDBC(一)
    JAVA基础反射
  • 原文地址:https://www.cnblogs.com/Unlimited-Rain/p/12489475.html
Copyright © 2011-2022 走看看