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程序中 ...
随机推荐
- Java selenium下拉滚动页面
Selenium强大之处在于,可以操作模拟键盘和点击页面的任何结构,本文对于Selenium的视图滚动操作方法进行解释. 1.可以滑动页面到最底端: //设置本地ChromDrive驱动路径,改成你自 ...
- whindows下存储文件技巧
文件名中不能有\/:*?"<>|这些符号 因为python存储的时候一直失败……就很糟心 下划线是可以的 希望对大家有所帮助 以上
- 解决报错Failed to start LSB: Bring up/down networking:MAC地址导致
1.场景描述,我在电脑里装好的虚拟机,今天突然就网络无法打开,并出现如下报错: [root@ansible-control ~]# systemctl start networkJob for net ...
- 【Python】数值运算操作符
- Cadence Allegro小技巧之指定Gerber生成路径
Allegro生成Gerber数据时,默认会保存在与pcb文件相同目录路径下,Gerber数据本身就会生成好几个文件,然后与pcb文件,log文件,临时文件等混杂在一起,不易整理打包Gerber数据, ...
- Radar Installation(利用数据有序化进行贪心选择)
English appre: an infinite straight line:一条无限长的直线 on the coasting:在海岸线上 Cartesian coordinate system, ...
- 微信小程序前台的用户数据入库(后台Laravel)
首先 我们可以看到微信小程序官方 文档 wx.login api-login.jpg 通过此图 我们知道 前台要传 一个 code给后台,后台拿到code 并结合appid和appsecret请求 ...
- php:对象(object)数据类型实例详解
什么是对象? 对象是存储数据和有关如何处理数据的信息的数据类型.是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位.一个对象由一组属性和对这组属性进行操作的一组服务组成. 语法 在 PHP ...
- ansible playbook详解
ansible playbook是由yml语法书写,结构清晰,可读性强,所以必须掌握yml基础语法 语法 描述 缩进 YAML使用固定的缩进风格表示层级结构,每个缩进由两个空格组成,不能使用tabs键 ...
- winform学习(5)MDI窗体
SDI窗体 single document interface 单文档界面,即单个简单的窗体 MDI窗体 multiple document interface 多文档界面(主窗体与子窗体的关系,避免 ...