学习目标

  • 关键字
    • final
    • static
  • 代码块
    • 静态代码块
    • 构造代码块
    • 局部代码快
  • 接口
    • 接口的作用及格式
    • 接口的成员定义
    • 接口在JDK不同版本中方法的改进
  • 枚举
    • 枚举的作用及格式
    • 枚举的使用
    • 枚举的本质

      1. 关键字

      1.1 final能修饰什么 ?

      可修饰类、变量和方法。

      1.2 final修饰的成员的特点是什么 ?

      1.修饰类:太监类,没有子类(不能被继承);
      2.修饰变量(基本和引用数据类型):最终的量—>自定义常量,只能被赋值一次。(若成员变量被final修饰,此变量如果没有显示初始化,需在构造方法中进行赋值,若有多个构造方法,每个构造方法中都需赋值。)
      3.修饰方法:此方法不能被重写。

      1.3 什么时候使用static关键字 ?

      1.当数据是共享的,对象不需要修改,只需要使用,不用存储在对象中,就可以定义为静态的;
      2.如果不需要访问非静态成员变量,那么就可以将该功能定义成静态的

      1.4 static关键字特点及静态方法访问特点 ?

      被static关键字修饰的成员称为类成员(静态成员),静态变量在内存中的特点是在内存中只有一份数据。
      静态成员
      1.可以被本类的所有对象共享;
      2.可通过类名调用(推荐)和对象调用;
      3.随着类的加载而加载,
      静态方法
      1.只能调用静态成员,若需访问非静态,需要使用对象

      2. 接口

      2.1 接口能解决什么问题 ?

      1.通过接口可以实现不相关类的相同行为,而不需要了解对象所对应的类。
      2.可以指明多个类需要实现的方法。

      2.2 接口的成员能定义什么,有什么特点 ?

      接口成员的特点:
      成员变量:只能是常量,只能赋值 一次,并且默认变量为静态变量。默认修饰符public static final;
      构造方法:没有,因为接口主要是扩展功能的,而没有具体存在;
      成员方法:只能是抽象方法,默认修饰符public abstracd。

      3. 枚举

      3.1 枚举能解决什么问题 ?

      1.一个变量有几种固定可能的取值时,就可以将它定义为枚举类型。
      枚举优点:枚举的实现,可以简化操作,减少代码,增添整洁性;和常量相比,枚举无需查看文档和源码就能直接知道所有可能返回值,方便编码。

      3.2 枚举常用的方式 ?

      1. /*枚举的本质就是一个final类,用enum
      2. 枚举的构造方法都是私有的*/
      3. public enum sex {
      4. //枚举项
      5. BOY("男"),GIRL("女"),OTHER("其他");
      6. //成员变量
      7. private String name;
      8. //构造方法,权限必须私有
      9. private sex(String name){
      10. this.name=name;
      11. }
      12. //成员方法
      13. public String getName(){
      14. return name;
      15. }
      16. }