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程序中 ...
随机推荐
- JavaScript的BOM对象
JavaScript的BOM对象 BOM:浏览器对象模型 JavaScript和浏览器的关系:JavaScript的诞生就是为了能够让它再浏览器中运行. 1. 操作BOM对象 1.1 window w ...
- Python之旅的开始day1
Python有哪些种类: JPython.IronPython.JavaScriptPython.RubyPython.CPython(即将开始学习种类,最为常见的种类).pypy pypy:这是用C ...
- 移动 APP 端与服务器端用户身份认证的安全方案
最近要做一个项目是java开发后端服务,然后移动APP调用.由于之前没有接触过这块,所以在网上搜索相关的方案.然后搜到下面的一些方案做一些参考. 原文:移动 APP 端与服务器端用户身份认证的安全方案 ...
- kuangbin专题 专题九 连通图 HDU 4738 Caocao's Bridges
题目链接:https://vjudge.net/problem/HDU-4738 题目:tarjan求桥,坑点: 题目说是分岛任务...如果所有岛之间没有完全连通,就不需要执行任务了...答案直接是0 ...
- ubuntu18.04双卡机安装ubidia驱动遇到的坑
在ubuntu 18的软件更新中选择英伟达驱动进行安装,输入nvidia-smi总是提示缺少驱动,未驱动之类的报错. 何解? 最初以为安装系统的问题,重装ubuntu也未果. 最后查了很多资料,找到一 ...
- Git 从远端指定分支克隆代码到本地
不指定分支默认是master git clone + clone 地址 # 例如 git clone https://amc-msra.visualstudio.com/xxx/_xx/xxxxxx ...
- Apache Kafka(七)- Kafka ElasticSearch Comsumer
Kafka ElasticSearch Consumer 对于Kafka Consumer,我们会写一个例子用于消费Kafka 数据传输到ElasticSearch. 1. 构造ElasticSear ...
- Hive文件与记录格式
1. Hive文件与记录格式 Create table 有多种用法,例如STORED AS SEQUENCEFILE, ROW FORMAT DELIMITED, SERDE, INPUTFORMAT ...
- 图的最短路径算法Dijkstra算法模板
Dijkstra算法:伪代码 //G为图,一般设为全局变量,数组d[u]为原点到达个点的额最短路径, s为起点 Dijkstra(G, d[u], s){ 初始化: for (循环n次){ u = 是 ...
- Python爬取微博热搜以及链接
基本操作,不再详述 直接贴源码(根据当前时间创建文件): import requests from bs4 import BeautifulSoup import time def input_to_ ...