Code ví dụ phạm vi truy cập kế thừa trong java

Code: Java 02/03/2021 02:26

package GoiA;

public class LopA {
    public String thuocTinhPublic ="Public A";
    private String thuocTinhPrivate = "Private A";
    protected String thuocTinhProtected = "Protected A";

    public void InThongTin(){
        // đây là hàm trong nội bộ lớp A, toàn quyền sử dụng mọi thứ của lớp A.
        System.out.println("Thuoc rieng tu: " + this.thuocTinhPrivate);
    }

}
////==================================================================
package GoiB;

import GoiA.LopA;

public class LopB extends LopA {
    // đây là lớp con của A nên dùng được 2 thuộc tính
        public void Ham01(){
            System.out.println("Thuoc tinh Public trong lop B: " + this.thuocTinhPublic);
            this.thuocTinhPublic = "Public B2";
            this.thuocTinhProtected = "protected B2";

            System.out.println("KQ Gán giá trị nội bộ lớp B: " + this.thuocTinhPublic);
            System.out.println("KQ Gán giá trị nội bộ lớp B:: " + this.thuocTinhPublic);
        }

}
//====================================================================
package GoiB;

import GoiA.LopA;

public class LopC {
    // đây là lớp người ngoài nên chỉ đùng được public
    public void HamX(){
        LopA objLopA = new LopA();
        objLopA.thuocTinhPublic = "Goi công khai";
    }
}
///===================================================================
import GoiA.LopA;
import GoiB.LopB;
import GoiB.LopC;

public class Main {
    public static void main(String[] args) {
        // gọi công cộng
        LopA objLopA = new LopA();
        objLopA.InThongTin();
        
        // gọi LopB để thực thi truy cập protect ở trong hàm 1
        LopB objLopB = new LopB();
        objLopB.thuocTinhPublic = "Public B";
        objLopB.Ham01();
        // gọi lớp C để thực thi truy cập public trong hàm x
        LopC objLopC = new LopC();
        objLopC.HamX();
    } 
}