Java基础知识
抽象类
用abstract修饰的类为抽象类。
用abstract修饰的方法只有方法名,没有方法的实现。
- 抽象类的所有方法,继承了他的非抽象子类,都必须实现它的方法
- 不能new此抽象类,只能靠子类去实现,只是个约束对象
- 抽象类里面可以有普通方法,有抽象方法的类必须是抽象类
接口
- 普通类:只有具体实现
- 抽象类:具体实现和规范(抽象方法)都有
- 接口:只有规范,自己无法写方法
- 接口就是规范,定义的是一组规则,要求必须遵守。如:如果你是天使,必须会飞。
- 接口中的所有定义都是抽象的,通过interface定义,所有接口都需要有实现类
- 接口定义的方法都是 public abstract 修饰,变量都是public staticfinal修饰,也就是说接口中都是常量(不常用!!!)
- 类可以实现接口,有多继承功能,用implements实现多接口
- 接口不能被实例化,因为接口里没有构造器
内部类
- 内部类就是在一个类的内部再定义一个类
- 包括成员内部类、局部内部类、静态内部类、匿名内部类
成员内部类
-
通过外部类来实例化此内部类
-
//假设已有First类,在它内部定义了一个Inner内部类,实现方法如下 First outer = new First(); First.Inner inner = outer.new Inner();
-
内部类可以直接访问外部类的成员变量
局部内部类
- 一个java类中可以有多个class类,但只能有一个被public修饰
- 方法里面定义的类称为局部内部类
匿名内部类
- 没有名字初始化类,不用将实例保存到变量中