【Java】访问权限

来源:互联网 发布:安庆网络广播电视电话 编辑:程序博客网 时间:2024/05/16 04:08

private

如果一个类的成员变量或者方法被修饰为private,则只能在该类中使用,也就是被this加点号访问或直接执行(此处没考虑static的情况)。子类和其他类中不能访问。

public

public在本类、同一个包中的其他类与子类中以及其他包中的类中都可以访问,具有跨包访问权限。

新建一个包名为Package的包,然后在Package中定义类Catag
package Package;public class Catag {public int and(int x,int y){return x+y;}}

跨包调用

import Package.*;//或import Package.Catag;public class MainClass {public static void main(String[] args){HelloWorld hwInstant = new HelloWorld();hwInstant.print("Hello Java");Catag catag = new Catag();int result = catag.and(1,2);    hwInstant.print("和:"+result);}}

MainClass是定义在默认包下的类,HelloWorld也位于同一包下
public class HelloWorld {private void say(String str){System.out.println(str);}void print(String str){this.say(str);}}

protected

protected权限介于private与public之间,被它修饰的成员对本类和同一包下的所有类是可见的,但对于其他包下得类和子类不可见。

缺省权限

在Java中,类中成员默认缺省权限为同一个包中的类可以访问,相当于protected访问权限。(C++中class成员缺省权限为private,struct成员缺省权限为public,Object-C中默认缺省为public)。
原创粉丝点击