Java的面向对象
04-4种权限修饰符
2021-07-01 439 1
简介 4中权限修饰符的理解
封装性的体现,需要权限修饰符来配合。
1.Java规定的4种权限(从小到大排列):private、缺省、protected 、public
2.4种权限可以用来修饰类及类的内部结构:属性、方法、构造器、内部类
3.具体的,4种权限都可以用来修饰类的内部结构:属性、方法、构造器、内部类
修饰类的话,只能使用:缺省、public
public类可以在任意地方被访问。
default类只可以被同一个包内部的类访问。
权限修饰符修饰属性和方法后的权限
总结封装性:Java提供了4种权限修饰符来修饰类及类的内部结构,体现类及类的内部结构在被调用时的可见性的大小。
首先定义oop1包中的类, Computer
//Computer.java package com.ylaihui.oop1; public class Computer { private int cpu; int memory; public int disk; private void privateMethod(){ cpu = 1; memory = 2; disk = 3; } void defaultMethod(){ cpu = 1; memory = 2; disk = 3; } public void publicMethod(){ cpu = 1; memory = 2; disk = 3; } }
在oop1包中进行Computer类的测试
//ComputerTest.java package com.ylaihui.oop1; public class ComputerTest { public static void main(String[] args) { Computer c = new Computer(); c.disk = 1; c.memory = 1; // c.cpu = 1; // The field Computer.cpu is not visible c.publicMethod(); c.defaultMethod(); // c.privateMethod(); // The method privateMethod() from the type Computer is not visible } }
在oop2包中进行测试
//ComputerTest.java package com.ylaihui.oop2; import com.ylaihui.oop1.Computer; public class ComputerTest { public static void main(String[] args) { Computer c = new Computer(); c.disk = 1; // c.memory = 1; // oop1 包中的 缺省权限的属性,可不访问 // c.cpu = 1; // The field Computer.cpu is not visible c.publicMethod(); // c.defaultMethod();// oop1 包中的 缺省权限的方法,不可访问 // c.privateMethod(); // The method privateMethod() from the type Computer is not visible } }