【读书笔记】访问控制符

来源:互联网 发布:沈阳系统i5编程实例 编辑:程序博客网 时间:2024/06/06 03:16

申明

java的访问控制符

Java提供了三个访问控制符(还有一个是默认不加控制符的控制级别)
由小到大依次排列为:

private –> default(就是那个默认没有的) –> protected –> public

  • private:类成员用private修饰,只能在类的内部被访问
  • default:默认访问控制,可以被相同包下的其他类访问
  • protected:用protected访问控制符修饰,即可以被同一个包中的其他类访问,也可以被不同包中的子类访问(用该修饰符修饰,一般是希望其子类重写这个方法)
  • public:用public修饰的类成员,可以被所有的类访问,不管是否在一个包中,是否有父子继承关系。

问:访问控制符是干嘛的?
答:访问控制符用于控制一个类成员是否可以被其他类访问。

问:局部变量可以用访问控制符来访问吗?
答:不能,因为局部变量的作用域是其所在的方法,不能被其他类访问,因此不能使用访问控制符来修饰。

        {            //测试在代码块中,用修饰符修饰局部变量            //public int o = 0;            //Illegal modifier for the variable o; only final is permitted            //修饰变量o的修饰符是非法的,只有final修饰符才是被允许修饰的            //用final试了一下,没报错            final int i = 10;            //但是 这有个问题:如下:            int t = 21;            //这里没有修饰符修饰,那就是默认的default修饰的?            //还是因为它是局部变量,只在这个代码块中出现,所以根本没有修饰符这么一说?        }

问:顶级类可以被修饰吗?可以被哪几种修饰
答:顶级类只有两种访问控制级别:public和默认,不能使用private和protected,因为顶级类既不处于任何类的内部,也没有其他外部类的子类,因此没有意义。public修饰的顶级类可以被所有类使用,默认修饰符修饰的的顶级类只能被同一个包中的所有类访问。


  • 类中的绝大部分属性应该使用private修饰,static修饰的以及一些类似全局变量的属性,可以考虑使用public修饰
  • 辅助实现该类中的其他方法的工具类,应用private修饰
  • 一个类用作其他类的父类,类中的方法仅希望被子类重写,而不想被外界直接调用,则应使用protected修饰
  • 希望给其他类自由使用的方法,应该使用public修饰
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 微信充值充错号码对方是空号怎么办 买了运险费退货怎么办 手机玩吃鸡有点卡怎么办 微信手机充值充到空号怎么办 用微信交话费交错了怎么办 眼睫毛烫坏了怎么办 眼睫毛太硬了怎么办 微信话费充值空号怎么办 睫毛烫焦了怎么办 答题卡中间对折怎么办 充q币错误怎么办 睫毛烫坏了怎么办 电话充错号码怎么办 营业厅充错话费怎么办 支付宝充错了怎么办啊 手机号充错话费怎么办 如果被骗了钱怎么办 充话费没有到怎么办 注销的号码话费怎么办 淘宝交话费没到账怎么办 汽油车没油了怎么办 车没油了熄火了怎么办 车子没油了怎么办 遇到买家不退款怎么办 苹果多次退款后怎么办 饿了么送错单了怎么办 支付宝退款失败怎么办 充话费总是退款怎么办 月初流量不能用怎么办 微信充值话费退款失败怎么办 ios邮件退款失败怎么办 信用卡充了钱怎么办 ios退款被拒绝怎么办 话费缴错了怎么办 网上缴费交错了怎么办 别人给交错话费怎么办 联通流量不到账怎么办 卖家拒绝退款怎么办? 淘宝退款后红包怎么办 手机不能吃鸡怎么办? 在国外手机软件好多不支持怎么办