Java基础知识:修饰符和访问控制权限

1. 类的定义

[类修饰符]  class  类名称  { 
   [修饰符] 数据类型   变量名;                //声明成员变量
     ……           
   [修饰符]  返回值类型  方法名(参数表) {      //声明成员方法
     ……
   } 
     ……
}

修饰符的类型决定了访问控制权限的大小。

2. 访问控制符

2.1 类修饰符

  1. public声明为公共类,可以被任何对象访问;即可在任何一个类中使用public类来创建对象;
  2. 缺省亦称为友好类,只有在相同包中的对象才能使用这样的类;即若在另一个类中使用友好类来创建对象时,要保证它们在同一个包中;
  3. 不能protectedprivate来修饰类。

2.2 成员变量修饰符

  1. public :声明该变量为公共(共有)的, 可被任何对象的方法访问;如果在其他类中用A类来创建对象后,该对象访问自己的public变量:
  2. protected :声明该变量为受保护的,可被它自己的类及其子类和同一包中的其他类访问,在子类中可覆盖此变量;
  3. 缺省 :友好变量,同一包中的其他类可以访问,其他包中的类不能访问该成员变量;
  4. private :声明该变量为私有的,只允许自己类的方法访问,其他类(包括子类)的方法均不能访问。
  5. final :最终修饰符,指定此变量的值不能改变;
  6. static :静态修饰符,指定该变量被所有对象共享,即所有的实例都可使用该变量(类变量、静态变量)。

2.3 成员方法修饰符

  1. public :指定该方法为公共的, 可被任何对象的方法访问;
  2. protected :声明该方法为受保护的,可被它自己的类及其子类和同一包中的其他类访问;
  3. 缺省 :友好方法,同一包中的其他类可以访问,其他包中的类不能访问该成员方法;
  4. private :指定该方法为私有的,只允许自己类的方法访问,其他类(包括子类)的方法均不能访问。
  5. final :最终修饰符,指定该方法不能被重载;
  6. static :静态修饰符,类方法,指定不需要实例化一个对象就可以激活的方法。

3. 总结

访问控制符按访问权限从低到高的排列顺序:

修饰符

类内部

同一个包

子类

任何地方

private

Yes

default(缺省)

Yes

Yes

protected

Yes

Yes

Yes

public

Yes

Yes

Yes

Yes

注意类中的实例方法总是可以操作该类中的实例变量和类变量,类方法总是可以操作该类中的类变量,与访问限制符无关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值