学习目标
- 关键字
- 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 枚举常用的方式 ?
/*枚举的本质就是一个final类,用enum枚举的构造方法都是私有的*/public enum sex {//枚举项BOY("男"),GIRL("女"),OTHER("其他");//成员变量private String name;//构造方法,权限必须私有private sex(String name){this.name=name;}//成员方法public String getName(){return name;}}
