快速业务通道

JAVA基础培训(4) 熟悉属性/变量的访问权限 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

JAVA基础培训(4) 熟悉属性/变量的访问权限

时间:2011-04-07 csdn 老紫竹

和前一个教程一样,我们也建了一个子目录,用来存放不同package的类

属性分为2种,

1 类实例的属性,属于某个类的实例所有,必须通过实例访问

2 类级的静态属性,属于类和所有实例所有,可通过类或者实例都可以访问

属性的权限分为

1 private 私有属性

2 [default] 默认属性,也就是啥都不写的那种,运行同一个package的访问

3 protected 被保护的属性,允许同一个package的访问,以及子类访问

4 public 公开的属性,可以被任何类访问

先看主类

lession4/Lession4.java

package lession4; /** * 老紫竹JAVA基础培训(4),熟悉属性/变量的访问权限.<br> * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class Lession4 {   // -----------------------   // -- 实例属性,属于类的某个实例   // ------------------------   // 私有的实例属性   // 只有类自己能访问   private int num1 = 1;   // 默认的实例属性   // 自己和同一个package的其它类可以访问   int num2 = 2;   // 被保护的实例属性   // 自己和同一个pacakge的类以及子类可以访问   protected int num3 = 3;   // 公开的实例属性   // 任何其它类都可以访问   public int num4 = 4;   // -----------------------   // -- 类静态属性,属于类的所有实例   // ------------------------   // 私有的类静态属性   // 只有类自己能访问   private static int num11 = 1;   // 默认的类静态属性   // 自己和同一个package的其它类可以访问   static int num12 = 12;   // 被保护的类静态属性   // 自己和同一个pacakge的类以及子类可以访问   protected static int num13 = 13;   // 公开的类静态属性   // 任何其它类都可以访问   public static int num14 = 14;   public static void testStatic() {    // 方法的局部变量    // 只有方法内部可以访问    int num21 = 21;    // 使用属性    // 在静态方法里面可以使用静态属性    // 不能使用类实例属性    num11 = 11;    num12 = 12;    num13 = 13;    num14 = 14;   }   public void testInstance() {    // 方法的局部变量    // 只有方法内部可以访问    int num31 = 31;    // 使用属性    // 在非静态方法里面可以使用实例属性    num1 = 1;    num2 = 2;    num3 = 3;    num4 = 4;    // 在非静态方法里面可以使用静态属性    num11 = 11;    num12 = 12;    num13 = 13;    num14 = 14;   } }

JAVA基础培训(4) 熟悉属性/变量的访问权限(2)

时间:2011-04-07 csdn 老紫竹

lession4/TestSamePackage.java

package lession4; /** * 相同package的类。 * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class TestSamePackage {   public void test() {    Lession4 lession4 = new Lession4();    // 可以使用非private的所有类实例级属性    lession4.num2 = 2;    lession4.num3 = 3;    lession4.num4 = 4;    // 可以使用了非private的所有类级的静态属性    lession4.num12 = 12;    lession4.num13 = 13;    lession4.num14 = 14;    // 测试访问私有属性    // lession4.num1=1;   } }

lession4/otherpackage/TestSubClassOtherPackage.java

package lession4.otherpackage; import lession4.Lession4; /** * 测试其它package的子类。<br> * 可以访问public和protected的属性。 * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class TestSubClassOtherPackage extends Lession4 {   public void test() {    // 可以使用protected和public的类实例级属性    num3 = 3;    num4 = 4;    // 可以使用protected和public的类级静态属性    num13 = 13;    num14 = 14;   } }

lession4/otherpackage/TestOtherPackage.java

package lession4.otherpackage; import lession4.Lession4; /** * 测试其它package的类。<br> * 只能访问public属性 * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class TestOtherPackage {   public void test() {    Lession4 lession4 = new Lession4();    // 只能使用public的类实例级属性    lession4.num4 = 4;    // 只能使用public的类级静态属性    lession4.num14 = 14;   } }

测试:

1 TestSamePackage.java里访问私有属性,去掉注释即可,看看编译的结果

JAVA基础培训(4) 熟悉属性/变量的访问权限 - 编程入门网

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号