访问控制

Java视频教程

在java中是通过各种访问区分符来实现数据封装的,共分为四种访问级别(由高到低):private(私有)、friendly(缺省)、protected(受保护)、public(公共)。

注意:以上四种访问修饰符可以作用于任何变量和方法,类只可以定义为私有或公共级别(嵌套类除外)。

¨ public(公共)

当变量或方法被public修饰时,该变量和方法可以在任何地方(指的是任何包中)的任何类中被访问。

 //类PublicSample中的构造方法、成员变量及方法均被定义为公共的访问级别

package com.itjob;
		      class PublicSample
		      {
			     public PublicSample(){....}

		         public int num1;
			     public byte bt1;
			     public char ch1;

			     public void method1(){....}
		      }

通过以上定义,类PublicSample中的成员方法和变量可以在任何包中的任何类中访问,即访问是公共的,不受限制的。以下访问都是允许的:

访问1

 class PublicSample

      {

     ......

     public static void main(String[] args)

     {

new PublicSample().num1 = 100;

new PublicSample().ch1 = '\u0000';

new PublicSample().bt1 = 10;

new PublicSample().method1();

     }

      }

访问2 

package com.java;
		      import com.itjob.*;
		      class A
		      {
			     public void method1()
			     {
					new PublicSample().ch1 = 'a';
					....
			     }
		      }

¨ protected(受保护的)

当类的变量或方法被protected修饰时,该变量和方法只可以在同包中的任何类、不同包中的任何当前类的子类中所访问。即不同包中的任何不是该类的子类不可访问级别为protected的变量和方法。

      //受保护的变量

      protected Stirng str = "";

      //受保护的方法

      protected String get(){return "";}

¨ friendly(缺省的)

当类的变量和方法没有显示地被任何访问区分符修饰时,该变量和方法的访问级别是缺省的。缺省的变量和方法只能在同包中的类中被访问。

      //缺省访问级别的变量和方法、类

      Float f1 = null;

      void method(){...}

      class C1{...}

¨ private(私有的)

被private所修饰的所有变量和方法只能在所属类中被访问。即类的私有成员和变量只能在当前类中被访问。

      //私有的构造方法和成员变量、方法

      private ClassName(){....}

      private int num = 0;

      private void method(){....}

通过以上学习,我们可以通过以下表格来描述四种访问区分符的访问限制:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值