zoukankan      html  css  js  c++  java
  • 继承

    1、继承的好处:(1)代码的复用(2)代码的扩展

    2、什么情况用继承?

    (1)从上而下:当我们新定义一个类型时,发现已经存在某个父类,父类中所有的特征(属性、方法)在是新定义的这个类的特征,我们可以选择继承现有的类,实现代码的复用。这里,要注意它们是is-a的关系。

    (2)从小而上:当我们声明了多个类,这些类有共同的特征,那我们可以抽取出一个公共的父类,可以简化代码,同时又可以使用公共的父类来统一管理众多的子类的对象。

    3、继承的语法

    【修饰符】 class 子类 extends 父类{
        
    }
    

      

    子类:subclass,又称为派生类

    父类:superclass,又称为基类、超类

    4、继承的特点

    (1)父类的所有的属性和方法都会继承的子类中

    A:从可访问性角度来说:父类私有的在子类中不可见,无法直接使用,好像没有继承一样;

    B:从事物的特征来说:父类私有的也会继承到子类中,在子类对象时,仍然要分配对应的的内存。

    (2)父类的构造器”不会“继承到子类中

    (3)在子类的构造器中一定要调用父类的构造器。

    如果你没有写super()或super(实参列表)这样语句,默认就是调用了父类的无参构造。

    如果你写了super()或super(实参列表)这样的语句,super()对应父类的无参构造,super(实参列表)对应父类的有参构造。

    如果父类没有无参构造,那么必须在子类的构造器中要手动使用super(实参列表)明确调用父类的哪个有参构造。

    (4)Java中只支持单继承

    (5)Java中支持多层继承,即父类还可以有父类。

    (6)一个父类可以同时有多个子类,子类还可以有子类

    (7)子类可以扩展父类没有的特征(属性、方法)

    (8)子类还可以“重写”父类的方法

     

    5、方法的重写(Override)

    当子类继承了父类的方法,如果这个方法的实现不适用于子类时,我们子类就可以选择重写。

    要求:

    (1)方法名称:必须相同

    (2)形参列表:必须相同

    (3)返回值类型:

    基本数据类型和void:必须相同

    引用数据类型:<=

    (4)权限修饰符:>=

    被重写的方法不能是private的,跨包不能是缺省的

    (5)其他修饰符:

    不能是static和final

     

    What is different between Overload and Override?

    Overload:方法的重载,同一类中出现了方法名称相同、形参列表不同的两个或多个方法。和返回值类型无关。

    Override:方法的重写,如上。

  • 相关阅读:
    [LINUX-05]Linux的进程线程及调度
    如何感性地理解EM算法?
    [LINUX-04]linux进程、调度、线程、进程上下文等几点理解
    centos定时删除log文件
    关于 Nginx 配置的一些疑惑, Nginx 根据cookie 进行rewrite
    oracle中如何创建表的自增ID(通过序列)
    Windows下PHP7/5.6以上版本 如何连接Oracle 12c,并使用PDO
    Tomcat不能访问ln -s软连接文件夹的前因后果
    rm命令删除文件时排除特定文件
    nginx中的url转发
  • 原文地址:https://www.cnblogs.com/panyizuoshan/p/11448662.html
Copyright © 2011-2022 走看看