java基礎回顧------類成員的訪問權限

在這裏插入圖片描述

測試源碼:

package com.jidongcloud.test01;

/**
 * ClassName:AccessRights
 * PackageName:com.jidongcloud
 * Description: 第一種情況:當前類中測試
 * remark:
 * ctrl+alt+l格式化快捷方式
 *
 * @date:2020/6/7 11:49
 * @author:robin
 */
public class AccessRights {
    private int xx;
    int yy;
    protected int zz;
    public int qq;

//System.out.println(xx);  //輸出語句只能在方法中使用。
    public void m1(){
        System.out.println(xx);  //所有屬性均可以在當前類中適用
        System.out.println(yy);
        System.out.println(zz);
        System.out.println(qq);
    }
}

package com.jidongcloud.test01;

/**
 * ClassName:TestRights
 * PackageName:com.jidongcloud.test01
 * Description: 第二種情況:當前包中測試。
 *定義類成員時遵循訪問權限最小化原則。
 * @date:2020/6/7 11:53
 * @author:robin
 */
public class TestRights {
    public static void main(String[] args) {
        AccessRights as=new AccessRights();
//        System.out.println(as.xx);//私有屬性只能在當前類中使用。當前包中就不可以使用。
        System.out.println(as.yy);
        System.out.println(as.zz);
        System.out.println(as.qq);
    }
}

package com.jidongcloud.test02;

import com.jidongcloud.test01.AccessRights;

/**
 * ClassName:TestRights
 * PackageName:com.jidongcloud.test01.test02
 * Description:第三中情況:派生類所在的包中測試(不在當前包)
 *
 * 定義類成員時遵循訪問權限最小化原則。
 *
 * @date:2020/6/7 11:59
 * @author:robin
 */
public class TestRights extends AccessRights {
    public void m2() {
//        System.out.println(xx);//私有的只能在當前包中使用
//        System.out.println(yy);//默認的只能在當前包中使用
        System.out.println(zz);//受保護的可以在派生類中使用
        System.out.println(qq);//公共的可以在任何包中使用
    }

    public static void main(String[] args) {
        TestRights ts=new TestRights();
//        System.out.println(ts.xx);//私有的只能在當前包中使用
//        System.out.println(ts.yy);//默認的只能在當前包中使用
        System.out.println(ts.zz);//受保護的可以在派生類中使用
        System.out.println(ts.qq);//公共的可以在任何包中使用
    }


}

package com.jidongcloud.others;

import com.jidongcloud.test01.AccessRights;

/**
 * ClassName:TestRights
 * PackageName:com.jidongcloud.others
 * Description:  第四種情況:在其他包中測試。
 *定義類成員變量時候遵循訪問權限最小化原則。
 * @date:2020/6/7 12:15
 * @author:robin
 */
public class TestRights {
    public static void main(String[] args) {
        AccessRights as=new AccessRights();
//        System.out.println(as.xx);//私有屬性
//        System.out.println(as.yy);//默認屬性
//        System.out.println(as.zz);//受保護屬性
        System.out.println(as.qq);//這時候只能qq成員變量可以訪問到。//int類型默認初始化爲 0;
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章