title: 接口、接口方法、接口属性的修饰符
date: 2019-06-01 15:03:27
tags: java
先整体把我一下,看下方表格
类型 | 修饰符(默认不写) |
---|---|
接口 | abstract |
接口方法 | public static final |
接口属性 | public abstract |
解释
- java 接口的修饰符:
public abstract
(interface 本身就是抽象的,加不加 abstract 都一样)
必须用public
修饰,因为接口就是用来实现的,无法实例化对象,设置为其他权限修饰是毫无意义的
public interface BinTree<E> {
}
-
接口中字段的修饰符:
public static final
(默认不写)含义
public: 使接口的实现类可以使用该常量;
**static:**接口不涉及和任何具体实例相关的细节,因此接口没有构造方法,不能被实例化,没有实例变量,只有静态变量。
(static 修饰就表示它属于类的,随的类的加载而存在的,当 JVM 把字节码加载进 JVM 的时候,static 修饰的成员已经在内存中存在了。如果是非 static 的话,就表示属于对象的,只有建立对象时才有它,而接口是不能建立对象的,所以接口的常量必须定义为 static。)
**final:**接口中不可以定义变量,即定义的变量前都要加上 final 修饰,使之成为常量,且必须赋初始值!(final 修饰就是保证接口定义的常量不能被实现类去修改,如果没有 final 的话,由子类随意去修改的话,接口建立这个常量就没有意义了。
public interface BinTree<E> { int size; }
-
接口中方法的修饰符:
public abstract
(默认不写)接口方法仅仅描述方法能做什么,但是不指定如何去做,所以接口中的方法都是抽象的
public interface BinTree<E> { boolean add(E e); int size(); E getMax(); E getMin(); boolean contains(E e); }