赞
踩
Java中的访问控制符有四种:public、protected、default、private。它们的作用如下表:
public表示全部开放,所有地方的类、子类都可以直接访问、覆盖,这个很好理解。
protected表示受保护,记住一点,对于同一个包内的类,包括派生出的子类,它相当于public。另外对于包外的派生出的子类,它也相当于public。
defalut就是没有修饰符,被称为友好的。实际上它比protected还要还要更严格一点。在同一个包内,它也相当于是public。但是对于包外,它相当于private,这就是它比protected严格的地方。
private表示完全封闭,除了本类,其它任何地方都不可访问,不可见。这个也很好理解。
示例代码:
- package com.zhangxf.test;
-
- public class Circle {
-
- private static float PIE = 3.14f;
- private float r = 0f;
-
- // 完全公开,谁都可以访问、任何地方的子类都可以覆盖
- public float getR() {
- return r;
- }
- public void setR(float r) {
- this.r = r;
- }
-
- // 受保护的,相同包内的所有类,当然包括继承类,还有不同包内的继承类都可以访问
- protected float getZhouChang() {
- return 2 * PIE * r;
- }
-
- // 默认访问控制。对于相同包内的类,包括继承类,它相当于public。对于不同包内的类,它相当于private
- float getMianJi() {
- return mianJi();
- }
-
- // 私有的,除了类内的成员可以访问,其它一一概不允许
- private float mianJi() {
- return PIE * r * r;
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。