zoukankan      html  css  js  c++  java
  • java基础之继承补充和抽象类

        继承的补充和抽象类

    1.子类和父类中出现了同名的变量该如何访问?(super)
    使用super关键字可以直接指定父类空间
    格式: super.成员变量

    访问成员变量的时候特点: 如果所指定的空间找不到,就会一直向上找,但是不会向下找;

    2.子类中和父类中出现同名的方法(重写)
    重写(Override): 子类中出现了和父类同名的方法,称为方法的重写;
    重载(Overload): 在同一个类中,出现了同名的方法,但是方法的参数列表不同(个数,类型,顺序);

    重写过程中的注意事项?
    1> 子类如果重写了父类的方法,子类权限需要大于等于父类, 一般建议等于即可
    权限大小关系: public > protected > default默认权限(不写) > private
    2> 父类中私有的成员方法,子类不能重写, 子类写了也是属于子类自己的并不是重写

    3.构造方法调用的问题,在继承结构体系中
    1> 如果直接创建子类对象的时候,会默认先调用父类空参数的构造构造方法创建父类空间.
    子类构造方法中,默认会调用父类的构造方法, 格式: super();
    2> 不管子类通过什么构造方法创建对象, 都会默认调用父类空参数构造方法
    3> 手动调用构造方法格式: super(参数), 一般情况下就是给父类空间中的成员变量赋值.

    注意: 构造方法不能够被继承

    4. 什么是抽象类:
    被abstract修饰的类称为抽象类.

    定义抽象类:
    public abstract class 类名{}
    抽象类的特点:
    1> 抽象类不能被实例化,也就是不能被new.(为什么, 是因为抽象类中可以有抽象方法)
    2> 抽象类中可以有抽象方法.
    3> 抽象方法必须在抽象类中, 抽象类中可以没有抽象方法
    4> 抽象类除了不能直接创建对象之外,和普通的类没有什么区别.
    5> 如果子类继承自抽象类之后需要重写抽象类中的所有抽象方法, 除非子类也是抽象类.

    抽象方法:
    被abstract修饰的方法是抽象方法.
    定义格式: public abstract void method(...);

    抽象方法的特点:
    1>被abstract修饰
    2>没有方法体
    3>作用就是强制(约束)子类去完成某件事情.

  • 相关阅读:
    Qt 查询字符串数据
    #include <stdint.h>
    滤波器设计-巴特沃尔斯低通滤波设计 转
    小波学习之二(单层一维离散小波变换DWT的Mallat算法C++实现优化)--转载
    机器学习之Bagging与随机森林笔记
    机器学习之决策树笔记
    机器学习之softmax回归笔记
    机器学习之逻辑回归(Logistic)笔记
    机器学习之模型拟合效果的判断笔记
    机器学习最小二乘法笔记
  • 原文地址:https://www.cnblogs.com/youyouxiaosheng-lh/p/8087452.html
Copyright © 2011-2022 走看看