您的位置:首页 > 编程语言 > Java开发

java中为什么接口中的属性和方法都默认为public?

2014-08-24 14:13 253 查看
4)为什么接口中的属性和方法都默认为public?Sun公司当初为什么要把java的接口设计发明成这样? 【新手可忽略不影响继续学习】

答: 如上所述,马克-to-win:既然接口强于抽象类能胜任作为和外部系统打交道的合同。换句话说,一般来讲和外部系统打交道,自然考虑用“接口”。“外 部”二字自然让我们做出如下结论:属性和方法都应默认为public。马克-to-win:举例假设方法或属性默认为protected,他的子类也可以 为protected,既然不是public,就一定存在一定的情况,正常访问这些属性和方法会引起错误。(马上跟着一个例子)因为是和外部系统打交道, 存在很大的未知性,马克-to-win:我并不知道未来外部别人怎么用我们的接口,所以尽量少给别人设置障碍(少添点堵),就设置权限为public,出
于这种考虑,Sun公司一开始就规定,接口属性和方法默认就为public。

例1.6.1:

以下例子,假如A实现IA接口,IA接口里面有printIProtected,这个方法是protected。

package p1;

public class A {

protected int i;

protected void printIProtected() {

System.out.println("i=" + i);

}

}

package p2;

import p1.A;

public class Test extends A {

public static void main(String[] args) {

A a=new A();

。。。。。。。。。。。。。。。。。

详情请进:http://www.mark-to-win.com/JavaBeginner/JavaBeginner4_web.html#InterfaceIsPublic
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: