【发布时间】:2017-07-11 17:26:52
【问题描述】:
我是java初学者。
我了解公共方法是全局访问的。在访问修饰符表格矩阵中,给出如下
Within Class Within Package outside Package outside package
by sub-class class
protected Y Y Y N
public Y Y Y Y
现在我的查询是关于与外部包类相关的公共访问。
假设具有公共方法的公共类 1 在包 1 中,类 2 在包 2 中。
如果我必须从 Class2 访问 Class 1 方法,则必须使用“extends”关键字(据我所知)
因此,在使用“扩展”时,类 2 成为子类,这理想地意味着正在从符合“子类外部包”标准的不同包的子类访问 Class1
那么“子类外包”和“外包类”的条件有什么不同呢?
您可以参考我正在访问不同包的公共和受保护方法的附加语法。请澄清
package second; // different package
public class SubClass extends abnpackage.Play {// abnpackage is another package and Class Play having public & protected
//methods - prot & pub.
public static void main(String[] args) {
// TODO Auto-generated method stub
SubClass SC = new SubClass();
SC.prot(); // protected method is shown
SC.pub(); // public method is shown
}
}
【问题讨论】:
-
你为什么说“然后必须使用'extends'关键字”来访问一个类的方法?那是你做的吗?
"something".length()呢?我是否必须在该代码示例中使用extends String才能访问java.lang.String中声明的public方法length()? -
请更新您的进度
-
@alex,谢谢朋友,你的澄清。已经理解了逻辑,可以进一步进行。
-
不要忘记接受正确的答案,以便其他人可以看到您的问题已解决。
标签: java oop inheritance encapsulation