java中类成员如果没有修饰符其访问权限

如果一个类的成员没有任何权限修饰,那么它门就是缺省包访问权限,用friendly来表示,注
意friendly不是Java中的关键字,这里是个人喜欢的方式用它表示而已。同一个包内其它类可以访问,但包外
就不可以。对于同一个文件夹下的、没有用package的classes,Java会自动将这些classes初见为隶属于该目录
的default package,可以相互调用class中的friendly成员。如以下两个class分别在同一个文件夹的两个文件

中,虽然没有引入package,但隶属于相同的default package。

---参见think in java

一:

package org.senssic;
public class Test {
String name = "qiyu";
}

二:

package org.senssic;
public class testmain {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test t = new Test();
System.out.println(t.name);//因为是在同一个包内可以访问到输出:qiyu
}
}

三:

package org.senssic.sen;
import org.senssic.Test;
public class TestMain {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test test=new Test();
System.out.println(test.name);//访问不到test没有name属性,因为实在其子包中访问,不是在同一个包中所以访问不到
}
}


作用域:
1、private修饰词,表示成员是私有的,只有自身可以访问;   
2、protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员。   
3、无修饰词(默认),表示包访问权限(friendly, java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++ ),同一个包内可以访问,访问权限是包级访问权限;  
4、public修饰词,表示成员是公开的,所有其他类都可以访问;
其他:
一、类的访问限制,仅有public和包访问权限;   
   a、一个Java文件只能有一个public类  
   b、public类的名称必须同Java文件名完全一致
   c、若Java文件中没有public类,则文件名可以任意
二、final关键字
   a、final数据成员,使用前总是被初始化并被强制要求在定义处或构造器中赋值;一旦赋值后,对于基本类型其值会恒定不变,而对于对象引用会始终指向赋值的对    象,但指向对象自身是可以修改的;  
  b、final参数,对于基本类型表示无法改变参数的值,对于对象引用表示无法改变引用所指的对象;
  c、final方法,保证方法不会在继承后修改和重载;所有的private方法都隐含式final的;Java中使用动态绑定(后期绑定)实现多态,除了static和final方法是使用    前期绑定的;
     d、final类,表示该类不可被继承。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值