java面向对象

java面向对象

封装

概述:将类中成员私有化,不向外界透露。提供公有的方法让外界使用

private 关键字

  • 权限修饰符
  • 特点 被private修饰的成员,外界无法直接获取
  • 修饰的内容
    • 修饰成员变量
    • 修饰构造方法
    • 修饰成员变量

this关键字

  • 概述 表述调用但钱方法的对象,当前类的引用
  • 访问内容
    • 成员变量 this.成员变量
    • 构造方法 this()
    • 成员方法 this.成员方法()

方法的重载

在同一个类中,方法名相同 参数列表不同,与返回值不同的现象

static关键字

  • 概述 被staic修饰的内容 被类所有对象共享,属于类成员
  • 特点 被staic修饰的内容,可以直接通过类名的方式访问
  • 修饰对象
    • 成员变量
    • 成员方法
    • 成员内部类

代码块

  • 局部代码块 {} 在方法中定义
  • 构造代码块 {}在类中方法外定义
  • 静态代码块 staic{} 在类中方法定义
  • 同步代码块
  • 运行顺序 静态代码块-->构造代码块-->构造方法

继承

概述

将多个类中相同的部分提取到单独的一个类中,其他类与这个类产生继承关系。

extend 关键字

  • class A extends B{}
    • A 子类/派生类
    • B 父类/超类/基类

特点

  • java中的雷雨类之的继承不允许多继承,只允许单继承
  • java中类与类之间允许多重继承,形成继承体系
  • 子类无法继承父类中的私有成员
  • 子类无法继承父类中的构造方法

super关键字

  • 用途 在子类中使用直接父类的成员(成员变量/构造方法)
  • super
    • 成员变量 super 成员变量
    • 构造方法 super()
      • 只能出现在子类中构造方法的第一句
      • 默认子类构造方法第一句是super()
    • 成员方法 super.成员方法()

方法的重写

  • 在继承关系中 子类方法声明(返回值类型,方法名,参数列表) 与父类的方法一摸一样,只是实现不一样
  • 注意事项
    • 父类中的私有方法无法重写
    • 父类中的静态方法无法重写
    • 检查是否能重写使用@override
    • 子类重写时,方法的权限修饰符不能比父类的还要低

final关键字

修饰内容

  • 类 修饰类 类不能不继承
  • 变量 变量变自定义变量 只能在构造方法结束前赋值一次
  • 成员方法 方法不能被重写,但是子类可以使用

多态

概述

在一个事物的不同时刻下的不同状态

前提

  • 要有继承关系
  • 要有方法的重写
  • 要有父类的引用指向子类对象

多态的好处

  • 提高了程序的维护性(由继承提供)
  • 提高了程序的扩展性 (多态)

向下转型

为了解决多态无法访问子类中特有的方法

abstract关键字

主要是为了实现现实生活中一些无法实例化的事物

修饰的内容

    • 类为抽象方法,不能实例化
    • 抽象类中既可以存在抽象方法,也可以存在具体实现的方法
  • 方法
    • 方法为抽象方法。没有方法体,连大括号都没有
    • 有抽象方法的类一定是抽象类

抽象类的实例化

  • 抽象类可以继承抽象类,可以选择性的重写方法
  • 具体的类继承抽象类,必须重写所有的抽象方法

interface接口

概述 主要是为了提供一个类的扩展功能,可以看作一个特殊的类

特点

  • 成员变量必须被final 修饰的 默认添加 public static final的修饰符
  • 成员方法在jdk1.8之前必须是抽象方法,默认会添加public abstrct修饰符

接口实例化

  • 抽象类实现implements 接口,可以选择性的重写方法
  • 具体类实现implements接口 必须重写所用抽象方法

注意事项

  • 接口与接口之间是继承关系,可以进行多继承
  • 一个类可以在继续一个类的同时实现多个接口

内部类

  • 成员内部类
    • 创建对象: 外部类名。内部类名= new 外不类名().new 内部类名();
    • 静态内部类 外部类名。内部类名= new 外不类名. 内部类名();
  • 局部内部类
    • 将类定义在方法内部
    • 注意 方法定义的变量,在局部内部类中是不可以变,默认加上了final 关键字
  • 匿名内部类 new 类/抽象类/接口()
posted @ 2024-03-01 21:20  low-reed  阅读(11)  评论(0)    收藏  举报