• Java_面向对象三大特征


    面向对象特征

    面向对象三大特征: 继承, 封装, 多态

    继承

    继承:

    • 子类可以从父类继承属性和方法
    • 对外公开某些属性和方法

    要点(eclipse中Ctrl+T查看继承结构)

    1.父类也称超类, 基类, 派生类
    2.Java中只有单继承, 没有C++那种多继承
    3.接口有多继承
    4.子类继承父类, 可以得到父类的全部属性和方法(除了构造方法), 但不一定可以直接访问(例如父类中的私有属性和方法)
    5.如果定义一个类时, 没有调用extends, 则它的父类是java.lang.object

    Object类是所有Java类的根基类, 也就意味着所有的Java对象都有object类的属性和方法

    关键字super

    super是直接父类对象的引用, 可以通过super来访问父类中被子类覆盖的方法或属性

    属性/方法查找顺序(如变量h)

    1.查找当前类中有没有属性h
    2.依次上溯每个类的父类, 查看每个父类中有没有j, 直到object
    3.如果没有找到, 则出现编译错误
    4.上述步骤中, 只要找到变量h, 则这个过程终止

    构造方法调用顺序

    构造方法第一句总是super(...)来调用父类对应的构造方法. 所以流程是先向上追溯到object, 然后再依次向下执行类的初始化和构造方法, 直到当前子类为止, 同静态初始化块一样, 先把静态初始化全部执行(父类直至object和子类)完后, 再执行构造方法

    封装

    封装作用

    • 对外隐藏某些属性和方法
    • 对外公开某些属性和方法
    修饰符 同一个类 同一个包 不同包的子类 所有类
    private *
    defualt * *
    proteced * * *
    public * * * *

    成员(成员变量或成员方法)访问权限共四种:

    private
      只能被这个类本身访问
    default
      可以被这个类本身访问
      可以被同一个包中的类访问
    protected
      可以被这个类分数访问
      可以被同一个包中的所有其他类访问
      被它的子类(同一个包以及不同包的子类)访问
    public
      可以被该项目的所有包中的所有类访问

    类的访问权限共两种:

    public
      可以被同一项目中所有的类访问(必须与文件名同名)
    default
      可以被同一个包的类访问

    封装要点:

    类的属性的处理
      一般使用private访问权限
      提供相应的get/set方法来访问相关属性, 这些方法通常用public修饰, 以提供对属性的赋值与读取操作(boolean变量的get方法是以is开头)
    一些只用于本类的辅助性方法可以用private修饰
    希望其他类调用的方法用public修饰

    多态

    多态: 指同一个方法调用, 由于对象的不同, 可能会有不同的行为, 适应多种变化, 使得代码变得更加通用
    属性没有多态

    引用变量的两种类型:

    • 编译时类型(模糊一点, 一般是一个父类)
        由声明时类型决定
    • 运行时类型(运行时, 具体是哪个子类就是哪个子类)
        由实际对应的对象类型决定

    多态要点:

    1.多态是方法的多态, 不是属性的多态(多态与属性无关)
    2.多态的存在要有3个必要条件: 继承, 方法重写, 父类引用指向子类对象
    3.父类引用指向子类对象后, 用该父类引用调用子类重写的方法, 此时实现多态
    4.多态不能调用声明类型中没有的方法

  • 相关阅读:
    select选择框去掉默认的下拉箭头
    网站怎么添加ico小图标
    js实现逐字打印效果,文本逐字显示
    jQuery实现消息列表循环垂直向上滚动
    滤镜图片变黑白+图片模糊
    多选下拉框(select 下拉多选)
    JavaScript 数组相关基础方法
    h5+ IOS App中判断本地文件是否存在 plus.io.resolveLocalFileSystemURL()
    h5+ IOS App中取消视频默认全屏播放
    C# 多线程与队列操作小练刀
  • 原文地址:https://www.cnblogs.com/hesper/p/9692652.html
Copyright © 2020-2023  润新知