接口
1. 接口定义的是多个类共同的公共行为规范,这些行为是与外部交流的通道。因为接口定义的是一种规范,所以接口里饰;定义类方法,需要static修饰。
3. 接口支持多继承;
4. 一个类可以实现一个或多个接口,继承使用extends关键字,实现则使用implements关键字。
5. 一个类实现了一个或者多个接口之后,这个类必须完全实现这些接口里所定义的全部抽象方法(即全部重写这些抽象方法)。
6. 抽象类和接口的区别:
(1)接口里只能包含抽象方法、静态方法和默认方法,不能为普通方法提供方法实现;抽象类则完全可以包含普通方法。
(2)接口只能定义静态常量,不能定义普通成员变量;抽象类里既可以定义普通成员变量,也可以定义静态常量。
(3)接口里不包含构造器;抽象类里可以包含构造器,但这个构造器并不是用于创建对象,而是让其他子类调用这些构造器来完成属于抽象类的初始化操作。
(4)接口里不包含初始化块,但抽象类完全可以包含初始化块。
(5)一个类最多一个直接父类,包括抽象类;但一个类可以直接实现多个接口。
噢,后面要说什么内部类,Lambda什么的,
不想看这个,就算是个坑,以后填吧。
就这么任性hiahiahia~~~
枚举类
1. 枚举类的含义:实例有限且固定,比如季节类,就只有四个对象。
2. Java5新增了一个enum关键字,用以定义枚举类。枚举类是一种特殊的类,也可以有自己的成员变量,方法,可以实现一个或者多个接口,也可以定义自己的构造器。
3. 与普通类的区别:
(1)枚举类不能显式地继承其他父类;
(2)枚举类不能派生子类;
(3)枚举类的构造器只能用private修饰;
(4)枚举类的实例必须在枚举类的第一行显式列出,否则这个枚举类永远不会有实例。列出实例时,系统会自动添加public static final 修饰,无需程序员显式添加。
举个栗子:
编译上面的程序,将生成一个SeasonEnum.class文件,这表明枚举类是一个特殊的Java类。
如果需要该枚举类的某个实例,则可使用EnumClass.variable的形式
举个栗子:
结果如下:
end
【2017.07】我知道今天学的不多,状态其实也不怎么样,有点犯困。明天如果学习,应该是第六章就结束了。其实很多东西我自己看了没有写出来,因为我写的都是需要自己真正掌握的,像是那种看看就行,有印象就行的东西,没必要写出来,所以可能内容也是比较少的。明天java加油吧,好几天没有弄竞赛题了,必须上手。不过心里有点怕怕的呢,果然还是不行。加油吧!
放假了,假期快乐!