java接⼝的成员变量的修饰符
前⾔:c++学的java都忘记了不少
interface(接⼝)可将其想象为⼀个"纯"抽象类。它允许创建者规定⼀个类的基本形式:⽅法名、⾃变量列表以及返回类型,但不实现⽅法主体
接⼝也可包含基本数据类型的数据成员,但它们都默认为public、static和final。
接⼝中定义的⽅法默认为public、abstract。
为什么Java接⼝中的成员变量默认为(public、static、final)、成员⽅法为(public、abstract)呢?java配置用户变量
原因:接⼝是⼀种⾼度抽象的模版,接⼝中的成员变量是模版的⼀部分,其接⼝的实现类必须共有这些成员变量,所以成员变量的修饰符默认为public、static、final。static使得实现这个接⼝的类,可以直接使⽤这个变量。
如果是⾮静态变量,那么接⼝的多个实现类可能出现变量名重名的现象。
final表⽰被修饰的变量为常数,不可以修改。⼀个既是static⼜是final的字段表⽰只占据⼀段不能改变的存储空间。如果是⾮final变量,那么接⼝的实现类可以修改变量的值,这与抽象类没有区别了。
由于接⼝起到标准化和规范化的作⽤,所以其成员变量默认修饰符为static、final。