面向对象
java程序最小的程序单位是类。
类
类的语法格式:
[修饰符] class 类名 entends 父类 implenents 接口1,接口2...接口N
{
//一个~N个Field定义
//一个~N个方法定义
//一个~N个构造器定义
//初始化块
//内部类,接口,枚举
}
类前面的修饰符:public abstract |final
接口
接口是一种“彻底抽象”的类。
接口的语法格式:
[修饰符] interface 接口 extends 接口1,接口2...接口N
{
//一个~N个有public static final修饰Field。必须在声明时指定初始值。
//一个~n个抽象方法定义。总有public abstract修饰。
//一个内部类,接口,枚举
}
接口前面的修饰符:public
枚举
枚举是一种“实例已经固定”的类。
枚举的语法格式:
[修饰符] enum 枚举名 implenents 接口1,接口2...接口N
{
//N个固定实例列表——而是调用相应的构造器创建实例。
——如果枚举是抽象的,必须创建N个匿名内部类的实例。
//一个~N个Field定义
//一个~N个方法定义
//一个~N个构造器定义——必须使用private修饰
//初始化块
//内部类,接口,枚举
}
枚举前面的修饰符:[public] abstract|final ——至少出现其中之一。
枚举类:不允许用户创建实例,可以直接使用它的实例。
内部类:
静态内部类
- 用static 修饰的内部类。因为它的实例只要寄生外部类的类本身即可。
- 使用时,无需程序员关心“宿主”。
- 基本上,你可以把外部类当成静态内部类的“包”来使用。
非静态内部类
- 没有static 修饰的内部类。因为它的实例只要寄生外部类的本实例中。
- 无论是创建非静态内部类的实例,还是派生子类,都要保证先有宿主对象。
局部内部类
——只能在方法内使用。用起来比较简单。
作用域很小,胜利较少。