Java 对象特性知识点复习

来源:互联网 发布:淘宝能在1688 编辑:程序博客网 时间:2024/05/22 20:48

对象的三大特性

  1. 封装
  2. 继承
  3. 多态

封装的实现步骤

  1. 修改属性的可见性,设为 private
  2. 创建 getter/setter 方法,用于属性的读写
  3. 在 getter/setter 方法中加入属性控制语句,对属性的合法性进行判断

成员内部类

  • 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即需要 内部类 对象名 = 外部类对象.new 内部类();
  • 成员内部类的.class 文件总是这样:外部类名$内部类名.class
  • 外部类不能直接使用内部类的成员和方法,需要先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法
  • 如果外部类和内部类具有相同的成员变量和方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字

静态内部类

  • 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方法访问
  • 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员
  • 如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
  • 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名 = new 内部类();

方法内部类

  • 由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符

继承的初始化顺序

  1. 初始化父类再初始化子类
  2. 先初始化对象中的属性,再执行构造方法中的初始化

final 关键字

  • final 修饰类,则该类不允许被继承
  • final 修饰方法,则该方法不允许被重写
  • final 修饰属性,则该类的属性不会进行隐式的初始化(类的初始化属性必须有值,或在构造方法中赋值,两者选其一)
  • final 修饰变量,则该变量的值只能赋值一次,即变为常量

super 关键字

  • 如果子类的构造方法中没有显式调用父类的构造方法,则系统默认调用父类的无参构造方法
  • 要显式调用父类的构造方法,必须放在代码的第一行

类对象与类的对象的区别

  • 类对象包含的信息是类的属性(如某人的身高、体重)
  • 类的对象包含的信息是类的属性值(如某人的身高是180cm,体重是60kg)

多态

  • 引用多态,一个父类引用可以指向本类的对象,也可以指向子类的对象
  • 方法多态,创建本类对象时,调用的方法为奔雷方法,创建子类对象时,调用的方法为子类重写方法或继承的方法
0 0
原创粉丝点击