java中public和缺省这两个访问权限的根本区别?

为了区分开public和缺省的区别,我们要引进包(package)的概念。包就像咱们磁盘上的目录一样,马克-to-win。package a;就是定义说当前的目录为a。底下编的任何的类,都会出现在当前的这个目录a里。import b;就是导入b目录当中的类资源,因为我们在运行当前目录当中的类时,需要b目录当中的类资源。导入之后,b目录当中的类随便用。

eclipse当中如何添加包?在new class时,其中有个项, 在其中写上你的包名就可以了。注意再做底下的实验时,要分别new两个类,这样系统会产生两个文件。

package p1;
public class P1Test3 {//前面必须得加个public,否则从别的包里没法访问到这个类
    int a; // default access
    public int b; // public access
    private int c; // private access
//前面必须得加个public,否则从别的包里没法用这个方法,马克-to-win
    public void setc(int i) { // set c's value
        c = i;
    }
    public int getc() { // get c's value 
        return c;
    }
}

 

package p2;
import p1.P1Test3;
public class Test {
    public static void main(String args[]) {
        P1Test3 ob = new P1Test3();
        // ob.a = 10;//这样写错误,这里的a必须在P1Test3类中换成public权限才可以工作, 因为是在不同的包里
        ob.b = 20;
        // ob.c = 100; // 错误Error!, c是私有的
        ob.setc(100); // OK
        System.out.println("b,and c: " + " " + ob.b + " " + ob.getc());
    }
}

 

更多内容请见原文,原文转载自:https://blog.csdn.net/qq_44639795/article/details/103124869

posted @ 2021-01-13 15:04  师徒行者  阅读(143)  评论(0编辑  收藏  举报