1 java修饰符
java中访问修饰符public、private、protecte、default的意义讲解:
public(接口访问权限): Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。
private(无法访问): Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
protected(继承访问权限): 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
default(包访问权限):即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。
2 java接口内定义抽象方法
在定义接口时,如果使用 private 修饰符Eclipse会提示如下错误:Illegal modifier for the interface method test01; only public & abstract are permitted
对接口修饰符测试如下:
对接口中方法修饰符测试:
public interface Test01 {
void test01() ;
public void test02() ;
public abstract void test03() ;
}
编译后的.class文件
public abstract interface Test01
{
public abstract void test01();
public abstract void test02();
public abstract void test03();
}
解释:根据编译结果 会发现接口中定义的方法修饰符其实都为 public abstract 无论代码中是否做了标示
如 Runnable接口
public interface Runnable {
public abstract void run();
}
Callable接口
public interface Callable<V> {
V call() throws Exception;
}
对接口修饰符测试:
interface Test01 {
void test01() ;
public void test02() ;
public abstract void test03() ;
}
编译后的.class文件
abstract interface Test01
{
public abstract void test01();
public abstract void test02();
public abstract void test03();
}
解释:根据编译结果 我们对接口没有做public修饰符时 使用的仍是默认访问权限,也即:只用同一包下的类能实现该类