java中public、private、protected的区别

在java中通过三个关键字public、private、protected在类的内部来进行边界的设定,这些访问指定词(access specifier)决定了紧跟其后被定义的东西可以被谁访问。

  1. public:表示紧跟其后的成员可以被任何人引用
  2. private:表示紧跟其后的成员除了类型创建者和类型内部的方法,任何人都不可引用,否者程序编译报错
  3. protected:protected关键字与private效果相当,差别仅在于继承的类可以访问protected成员
  4. 默认访问权限(即定义属性时不加任何关键字修饰):默认访问权限通常被称为“包访问权限”,在这种权限下的成员变量可被同一个包中的其他类访问

具体如下:
我们首先按照如下方式创建三个类:Person、Teacher、Animal,其中Person与Teacher类在同一个包person中,Animal类在另一个包animal中

package person;public class Person {public int age;String name;protected String address;private String gender;
}
package person;public class Teacher extends Person {public void setInfo() {Person per = new Person();per.age = 12;//public修饰成员可被任何人访问per.name = "Bob";//同一个包中的类可访问默认权限成员per.address = "UK";//继承的类可访问protected成员per.gender = "man";//ERROR 继承的类无法访问private成员}
}
package animal;import person.Person;public class Animal {public void setInfo() {Person per = new Person();per.age = 12;//public修饰成员可被任何人访问per.name = "Bob";//ERROR 包访问权限成员无法被其他包中的类访问per.address = "UK";//ERROR protected成员无法被其他包中的类访问per.gender = "man";//ERROR private成员只能被类型创建者及类型内部方法访问}

java中public、private、protected的区别相关推荐

  1. php class中public,private,protected的区别以及实例分析

    本篇文章是对php class中public,private,protected的区别以及实例进行了详细的分析介绍,需要的朋友参考下 一,public,private,protected的区别 pub ...

  2. java中public,private,protect,default区别

    Java中访问修饰符public.private.protect.default范围 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://lvdairy.blogbus.c ...

  3. PHP Class中public,private,protected,static的区别

    PHP Class中public,private,protected,static的区别 public:权限是最大的,可以内部调用,实例调用,可以被继承. protected:受保护类型,用于本类和继 ...

  4. java 中 public,default,protected,private区别

    对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友. 1. public :对 所有用户 开放,所有用户都可直接调用 ...

  5. dim private public static_PHP中const,static,public,private,protected的区别

    const: 定义常量,一般定义后不可改变 static: 静态,类名可以访问 public: 表示全局,类内部外部子类都可以访问: private: 表示私有的,只有本类内部可以使用: protec ...

  6. java中public、protected、default、private权限问题

    同一个类 同一个包 不同包的子类 不同包的非子类 Private √ Default √ √ Protected √ √ √ Public √ √ √ √

  7. java基础-public/private/protected的具体区别

    在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友 ...

  8. C++中public/private/protected三种继承方式下基类成员对派生类的可见性探讨

     原文: http://blog.csdn.net/zgjxwl/article/details/4804233 1.public继承方式下 #include <iostream>   ...

  9. Java中public,private,protected以及default的访问权限区别

    ** Java中public,private,protected以及default的访问权限区别 ** 首先,从public的字面意思上就能够知道public所指的是公共的,从而我们可以知道publi ...

  10. java class private_Java class 中public、protected 、friendly、private的区别

    转载自:http://hi.baidu.com/ceoct/item/7e136a2417ba6f896f2cc33c Java class 中public.protected .friendly.p ...

最新文章

  1. 剑指offer:和为S的两个数字
  2. 用Hook的方式实现防抖
  3. red hat 5 和 oracle
  4. java学习视频网站_学习Java的视频网站
  5. Linux 命令详解(二)awk 命令
  6. 在JShell中尝试Java9 HTTP客户端和Process API
  7. WinPcap笔记(4):打开适配器并捕获数据包
  8. 生成指定序列的前一字典序序列(洛谷P2525题题解,C++语言描述)
  9. 蜜罐网络(开源汇总)MHN
  10. VC.dll相关及其C#交互
  11. Mac(OS X)下的环境变量配置不生效解决办法
  12. CSS/HTML/JS实现图片轮播
  13. P-Associated-URI处理流程
  14. oracle 切换用户操作--or--sys用户密码忘记
  15. 单总线结构CPU数据通路
  16. abb机器人伺服电机报闸是什么_ABB机器人伺服电机进油的分析及解决措施
  17. Ae 入门系列之十二:形状动画
  18. oracle ebs fa_category_books,FA有用的脚本 - Oracle EBS R12 - ITPUB论坛-中国专业的IT技术社区...
  19. 2.5维电子地图关键技术研究与实现
  20. html js制作高级拼图,基于JavaScript实现十五拼图代码实例

热门文章

  1. 最新Scrum指南|中文|敏捷项目管理
  2. locust-分布式部署-分布式性能压测
  3. 4g通信模块怎么连接sim卡_车载模块 4G LTE通信模块
  4. RocksDB使用小结
  5. 【计算理论与算法分析设计】 2. 输水管道问题
  6. UVALive 6277 - Addictive Bubbles (模拟)
  7. 中国自主轿车汽车品牌总汇(已上市)[原创]
  8. CPU知识:主频、核心、线程、缓存、架构
  9. 浅谈HTTPS通信机制和Charles抓包原理-by:nixs
  10. JDK 1.7及之前——HashMap死循环问题解析