JAVA(2)之关于类的访问权限控制
- 类的成员的四种访问权限
- private
- 只能在当前类中访问
- 无修饰
- 同一个包中的类都可以访问
- protected
- 同一个包中的类可以访问
- 不同包中的子类可以访问
- public
- 所有类都可以访问
- private
- 示例代码
- 同包
-
package com.study.main;
//同包非子类 public class Two
{
private int a;
protected int b;
public int c;
int d;
} -
package com.study.main;
//同包子类
public class Son extends Main
{ } package com.study.main;
//测试类
import com.study.one.One;
import com.study.one.SonOne; public class Main
{
private int a;
protected int b;
public int c;
int d; public static void main(String[] args)
{
Main m = new Main();//同一类
System.out.println("同一类");
System.out.println(m.a);//private
System.out.println(m.b);//protected
System.out.println(m.c);//public
System.out.println(m.d);//无修饰 Son s = new Son();//同一包中的子类
System.out.println("同一包中的子类");
// System.out.println(s.a);//private无法访问
System.out.println(s.b);//protected
System.out.println(s.c);//public
System.out.println(s.d);//无修饰 Two t = new Two();//同一包中的非子类
System.out.println("同一包中的非子类");
// System.out.println(t.a);//private无法访问
System.out.println(t.b);//protected
System.out.println(t.c);//public
System.out.println(t.d);//无修饰 SonOne so = new SonOne();//不同包中的子类
System.out.println("不同包中的子类");
// System.out.println(so.a);//private无法访问
System.out.println(so.b);//protected
System.out.println(so.c);//public
// System.out.println(so.d);//无修饰无法访问 One o = new One();//不同包中的非子类
System.out.println("不同包中的非子类");
// System.out.println(o.a);//private无法访问
// System.out.println(o.b);//protected无法访问
System.out.println(o.c);//public
// System.out.println(o.d);//无修饰无法访问 }
}
-
- 不同包
-
package com.study.one;
//不同包非子类
public class One
{
private int a;
protected int b;
public int c;
int d;
} package com.study.one;
//不同包子类
import com.study.main.Main; public class SonOne extends Main
{ }
-
- 运行截图
- 同包
- 总结
- 当前类的都可以访问
- 同一个包中的类除了private不能访问
- 不同包中的子类只有public和protected可以访问
- 不同包中的非子类只有public可以访问

JAVA(2)之关于类的访问权限控制的更多相关文章
- Java之路(五) 访问权限控制
在Java中,所有事物都具有某种形式的访问权限控制. 访问权限的控制等级从最大到最小依次为:public,protected,包访问权限(无关键词)和private. public,protected ...
- java基础-类成员访问权限控制
一 前言 这篇文章是很基础的一文,没多大深度,对于开发人员必然是熟练于心.本篇文章的主题是为什么java要设置类成员访问级别?其原因也很简单,就是为了面向对象的封装特性:将类成员使用不同的访问级别控制 ...
- Java继承多态中的方法访问权限控制
java中的方法天生具有继承多态特性,这点与C++有很大不同(需要在父类方发上加virtual关键字),但用起来确实方便了许多. 最简单的继承多态 声明一个接口BaseIF,只包含一个方法声明 pub ...
- Java成员的访问权限控制
Java中的访问权限控制包含两个部分: 类的访问权限控制 类成员的访问权限控制 对类来说,访问权限控制修饰符可以是public或者无修饰符(默认的包访问权限): 对于类成员来说,访问权限控制修饰符可以 ...
- Java基础详解 (一)Java的类成员访问权限修饰词(以及类访问权限)
在一个类的内部,其成员(包括成员变量和成员函数)能否被其他类所访问,取决于该成员的修饰词.Java的类成员访问权限修饰词有四类:private,无(默认情况下),protected和public.其权 ...
- java类的访问权限
1.解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修 ...
- Java编程思想学习笔记——类的访问权限
类的访问权限 Java中,访问权限修饰词用于确定库中哪些类对于该库的使用者是可用的. public class Foo{ } 注意点: 每个文件(编译单元)只能有一个public类. public类的 ...
- (转)浅析Java中的访问权限控制
原文地址: http://www.cnblogs.com/dolphin0520/p/3734915.html 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下 ...
- [THINKING IN JAVA]访问权限控制
6 访问权限控制 6.1 包:库单元 package.import.import *.import static: 修改classpath环境变量可以将自己写的类库添加至环境变量并在任何java程序中 ...
随机推荐
- AcWing 1016. 最大上升子序列和
#include<iostream> using namespace std ; ; int f[N]; int a[N]; int main() { int n; cin>> ...
- Jmeter录制https协议不能跳转成功(证书导入)
原文: http://www.cnblogs.com/Lam7/p/7154120.html 录制脚本的时候,比如录制https协议的百度网站 https://www.baidu.com ,所有录制 ...
- c# 嵌入资源并读取
原文:c# 嵌入资源并读取 1. 右键点击项目,选择资源,然后选择资源的类型,插入资源. 2. 这时候在项目的目录树上会出现一个Resource的文件夹,找到嵌入的资源文件,右击属性,在 Build ...
- 使用yaml格式进行接口测试报错
前言:本人公司使用yaml做接口测试.某日开发写了一个字典嵌套列表,列表里面再嵌套字典的接口. yaml的值应该为下图(注意缩进问题) 加了-代表下面是一个列表 {'uid': '3a61479f ...
- Python连接操作数据库
步骤: 1.创建与数据库的连接对象: 2.创建游标: 3.通过游标执行语句 4.增删改需要提交(commit)数据 5.关闭连接 如: import MySQLdb # Python通过MySQL ...
- Big research problems (1)
1. how to measure the uncertainty of prediction model or data analysis? 2.
- python3练习100题——012
今天继续,答案都通过py3测试. 原题链接:http://www.runoob.com/python/python-exercise-example12.html 题目:判断101-200之间有多少个 ...
- linux做免密登录,成功分发公钥后登录主机依旧需要输入密码的问题解决
问题描述 在主机A上用ssh-keygen生成密钥对后,用ssh-copy-id命令将公钥成功copy到主机B上后,测试从A免密登录B,但是依旧需要输入主机B的密码后才能登录. 出现此错误的原因 如果 ...
- 《CSS揭秘》》
1,透明边框 默认状态下,背景会延伸到边框区域的下层.这样就在半透明的黑色边框中透出了这个容器自己的纯白色背景. 谢天谢地,从w3c的背景与边框第三版开始,我们可以通过 background-clip ...
- mybatis - @MapperScan
一. 测试代码 //实体类 public class User { private Integer id; private String name; private Integer age; priv ...
