四种访问权限修饰符
- Java提供的四种权限修饰符public、protected、(缺省)、private置于类的成员定义前,用来限定对象对该类成员的访问权限。
- Java提供的四种权限修饰符可以用来修饰类及类的内部结构:属性、方法、构造器、内部类。
- 对于类的权限修饰符只可以用public和default(缺省)。
①public类可以在任意地方被访问。
②default类只可以被同一个包内部的类访问。 - Java规定的四种权限(从小到大排列):private、缺省、protected 、public
- Java提供的四种权限修饰符来修饰类及类的内部结构,体现类及类的内部结构在被调用时的可见性的大小。
package java2
package java2;public class Order {private int orderPrivate;int orderDefault;protected int orderProtected;public int orderPublic;private void methodPrivate() {orderPrivate = 1;orderDefault = 2;orderProtected = 3;orderPublic = 4;}void methodDefault() {orderPrivate = 1;orderDefault = 2;orderProtected = 3;orderPublic = 4;}protected void methodProtected() {orderPrivate = 1;orderDefault = 2;orderProtected = 3;orderPublic = 4;}public void methodPublic() {orderPrivate = 1;orderDefault = 2;orderProtected = 3;orderPublic = 4;}
}
package java2;public class OrderTest {public static void main(String[] args) {Order order = new Order();order.orderDefault = 1;order.orderProtected = 2;order.orderPublic = 3;order.methodDefault();order.methodProtected();order.methodPublic();// 同一个包中的其他类,不可以调用Order类中私有的属性、方法
// order.orderPrivate = 4;
// order.methodPrivate();}
}
package java3
package java3;
import Order;public class SubOrder extends Order {public void method() {orderProtected = 1;orderPublic = 2;methodProtected();methodPublic();// 在不同包的子类中,不能调用Order类中声明为private和缺省权限的属性、方法。
// orderDefault = 3;
// orderPrivate = 4;
//
// methodDefault();
// methodPrivate();}
}
package java3;
import Order;public class OrderTest {public static void main(String[] args) {Order order = new Order();order.orderPublic = 1;order.methodPublic();// 不同包下的普通类(非子类)要使用Order类,不可以调用声明为private、缺省、protected权限的属性、方法
// order.orderPrivate = 2;
// order.orderDefault = 3;
// order.orderProtected = 4;
//
// order.methodPrivate();
// order.methodDefault();
// order.methodProtected();}public void show(Order order) {order.orderPublic = 1;order.methodPublic();// 不同包下的普通类(非子类)要使用Order类,不可以调用声明为private、缺省、protected权限的属性、方法
// order.orderPrivate = 2;
// order.orderDefault = 3;
// order.orderProtected = 4;
//
// order.methodPrivate();
// order.methodDefault();
// order.methodProtected();
// }
}