九、接口
一、final关键字
1、final关键字是最终的意思,可以修饰类,成员变量,成员方法。
修饰类,类不能被继承
修饰变量,变量就变成了常量,只能被赋值一次
修饰方法,方法不能被重写
二、static关键字
被类的所有对象共享
这也是我们判断是否使用静态关键字的条件
可以通过类名调用
优先于对象存在
随着类的加载而加载
静态方法的访问特点:
静态方法只能访问静态的成员变量和静态的成员方法
静态方法的注意事项
在静态方法中是没有this,super关键字的
静态的内容是随着类的加载而加载,this和super是随着对象的创建而存在。
三、注解
1、在方法上写上@Test导包,run as junit
四、抽象类
1、抽象类和抽象方法必须用abstract关键字修饰
格式:
public abstractclass 类名 {}
public abstractvoid eat();
抽象类不一定有抽象方法,有抽象方法的类一定是抽象类
抽象类不能实例化
那么,抽象类如何实例化呢?
按照多态的方式,由具体的子类实例化。其实这也是多态的一种,抽象类多态。
抽象类的子类
要么是抽象类
要么重写抽象类中的所有抽象方法
2、抽象类的成员的特点
成员变量
可以是变量
也可以是常量
构造方法
有构造方法,但是不能实例化
那么,构造方法的作用是什么呢?
用于子类访问父类数据的初始化
成员方法
可以有抽象方法限定子类必须完成某些动作
也可以有非抽象方法提高代码复用性
五、接口interface
接口用关键字interface表示
格式:public interface 接口名 {}
类实现接口用implements表示
格式:public class 类名 implements 接口名 {}
接口不能实例化
接口实例化:
按照多态的方式,由具体的实现类实例化。其实这也是多态的一种,接口多态。
接口的实现类
要么是抽象类
要么重写接口中的所有抽象方法
接口的特点:
成员变量:
只能是常量
默认修饰符 public static final
构造方法:
没有,因为接口主要是扩展功能的,而没有具体存在
成员方法:
只能是抽象方法,默认修饰符 public abstract
七、四种权限修饰符的概述和访问特点
| public | protected | 默认 | private |
同一类中 | √ | √ | √ | √ |
同一包子类,其他类
| √ | √ | √ |
|
不同包 子类 | √ | √ |
|
|
不同包 其他类 | √ |
|
|
|
归纳一下:在日常开发过程中,编写的类、方法、成员变量的访问
A:要想仅能在本类中访问使用private修饰
B:要想本包中的类都可以访问除了private修饰符,其它都可以
C:要想本包中的类与其他包中的子类可以访问使用protected修饰
D:要想所有包中的所有类都可以访问使用public修饰。
类与类_类与接口_接口与接口的关系
类与类
继承关系,只能单继承,但是可以多层继承
类与接口
实现关系,可以单实现,也可以多实现。还可以在继承一个类的同时实现多个接口
接口与接口
继承关系,可以单继承,也可以多继承
八、instanceof