Java 四种不同的权限修饰
private 私有属性 只在同一个包下 同一个类中可以调用
同一个包下,不同的类中,可以调用 缺省,保护(protected),公共(public)可以调用,
不同的包下的类中,继承关系,可以调用 保护(protected),公共(public)
不同的类的包下(非继承),可以调用 公共(public)
1 package com.bytezero.permission;
2 /*
3 *
4 * 四种不同的权限修饰
5 *
6 */
7 public class Order
8 {
9 private int orderPrivate;
10 int orderDefault;
11 protected int orderProtected;
12 public int orderPublic;
13
14
15
16 private void methodPrivate()
17 {
18 orderPrivate = 1;
19 orderDefault = 2;
20 orderProtected = 3;
21 orderPublic = 4;
22 }
23
24 void methodDefault()
25 {
26 orderPrivate = 1;
27 orderDefault = 2;
28 orderProtected = 3;
29 orderPublic = 4;
30
31 }
32 protected void methodProtected()
33 {
34 orderPrivate = 1;
35 orderDefault = 2;
36 orderProtected = 3;
37 orderPublic = 4;
38 }
39 public void methodPublic()
40 {
41 orderPrivate = 1;
42 orderDefault = 2;
43 orderProtected = 3;
44 orderPublic = 4;
45 }
46
47
48
49 }
1 package com.bytezero.permission;
2
3 public class OrderTest
4 {
5 public static void main(String[] args) {
6 Order order = new Order();
7
8 order.orderDefault = 1;
9 order.orderProtected =2;
10 order.orderPublic = 3;
11
12 order.methodDefault();
13 order.methodProtected();
14 order.methodPublic();
15
16
17 //同一个包中的其他类,不可以调用Order类中的私有的属性,方法
18 // order.orderPrivate = 4;
19 // order.methodPrivate();
20 //
21 }
22 }
1 package com.bytezero.permission2;
2
3 import com.bytezero.permission.Order;
4
5 public class OrderTest
6 {
7 public static void main(String[] args) {
8
9 Order order = new Order();
10 order.orderPublic = 1;
11
12 //不同包下的普通类(非子类),要使用order类,不可以调用声明为private,
13 //缺省,protected权限的属性,方法。
14
15 // order.methodPublic();
16 //
17 // order.orderPrivate = 2;
18 // order.orderDefault = 3;
19 // order.orderProtected = 4;
20 //
21 //
22 // order.methodDefault();
23 // order.methodProtected();
24 // order.methodProtected();
25
26
27
28
29 }
30
31
32 public void show(Order order)
33 {
34
35
36 order.orderPublic = 1;
37
38 //不同包下的普通类(非子类),要使用order类,不可以调用声明为private,
39 //缺省,protected权限的属性,方法。
40
41 // order.methodPublic();
42 //
43 // order.orderPrivate = 2;
44 // order.orderDefault = 3;
45 // order.orderProtected = 4;
46 //
47 //
48 // order.methodDefault();
49 // order.methodProtected();
50 // order.methodProtected();
51
52 order.orderPublic = 1;
53
54 //不同包下的普通类(非子类),要使用order类,不可以调用声明为private,
55 //缺省,protected权限的属性,方法。
56
57 // order.methodPublic();
58 //
59 // order.orderPrivate = 2;
60 // order.orderDefault = 3;
61 // order.orderProtected = 4;
62 //
63 //
64 // order.methodDefault();
65 // order.methodProtected();
66 // order.methodProtected();
67
68 }
69
70
71
72
73
74
75
76
77 }
1 package com.bytezero.permission2;
2
3 import com.bytezero.permission.Order;
4
5 public class SubOrde extends Order {
6
7 public void method()
8 {
9 orderProtected = 1;
10 orderPublic = 22;
11
12 methodProtected();
13 methodPublic();
14
15
16 //在不同包的子类中,不能调用Order类中声明private和缺省权限属性和方法
17 // orderDefault = 3;
18 // orderPrivate = 4;
19 //
20 // methodDefault();
21 // methodPrivate();
22
23
24 }
25
26 }
Java 四种不同的权限修饰的更多相关文章
- Java 四种权限修饰符
Java 四种权限修饰符访问权限 public protected (default) private 同一个类(我自己) yes yes yes yes 同一包(我邻居) yes yes yes n ...
- Java四种访问修饰符
Java 四种访问权限 一.概述 访问等级比较:public > protected > default > private 无论是方法还是成员变量,这四种访问权限修饰符作用都一样 ...
- Java语言中的访问权限修饰符
一个Java应用有很多类,但是有些类,并不希望被其他类使用.每个类中都有数据成员和方法成员,但是并不是每个数据和方法,都允许在其他类中调用.如何能做到访问控制呢?就需要使用访问权限修饰符. Java语 ...
- Java 四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用.本文是基础篇,后面会分享下线程池一些高级功能. 1.new Thread的弊端执行一个异步任务你还只是如下new T ...
- Java四种线程池
Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor 时间:20 ...
- Java四种引用包括强引用,软引用,弱引用,虚引用。
Java四种引用包括强引用,软引用,弱引用,虚引用. 强引用: 只要引用存在,垃圾回收器永远不会回收Object obj = new Object();//可直接通过obj取得对应的对象 如obj.e ...
- Pascal、VB、C#、Java四种语法对照表
因为工作原因,自学会了vb后陆续接触了其它语言,在工作中经常需要与各家使用不同语言公司的开发人员做程序对接,初期特别需要一个各种语法的对照比,翻看了网络上已有高人做了整理,自己在他基础上也整理了一下, ...
- Java四种引用--《深入理解Java虚拟机》学习笔记及个人理解(四)
Java四种引用--<深入理解Java虚拟机>学习笔记及个人理解(四) 书上P65. StrongReference(强引用) 类似Object obj = new Object() 这类 ...
- (转载)new Thread的弊端及Java四种线程池的使用
介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用.本文是基础篇,后面会分享下线程池一些高级功能. 1.new Thread的弊端 执行一个异步任务你还只是如下new ...
- 不可访问内存 Java四种引用包括强引用,软引用,弱引用,虚引用
小结: 1.不可访问内存是指一组没有任何可访问指针指向的由计算机程序进行动态分配的内存块. 2.垃圾收集器能决定是否一个对象还是可访问的:任何被确定不可访问的对象将会被释放. https://zh.w ...
随机推荐
- 数据共享Manager(Python)
from multiprocessing import Process,Manager,Lock def change_dic(dic,lock): with lock: dic['count'] - ...
- Unity框架中的核心类
组件:Component 在Unity中,所有的游戏对象都可以挂载组件.组件控制着游戏对象的行为和外观,例如渲染.动画.碰撞检测等. 而Component就是组件的基类,提供了一些通用的方法和属性,例 ...
- 【游戏】C语言实现扫雷游戏(超详细备注和解释)
C语言实现扫雷游戏 求个赞求个赞求个赞求个赞 谢谢 先赞后看好习惯 打字不容易,这都是很用心做的,希望得到支持你 大家的点赞和支持对于我来说是一种非常重要的动力 看完之后别忘记关注我哦!️️️ 文章目 ...
- STM32 HAL库 USART DMA驱动
前言 本文是在使用 STM32L4 的串口 DMA 功能时,使用 HAL 库出现的一些问题,通过以下方式解决了 HAL 库中存在 DMA 发送和接收的一些问题. STM32L4 的 DMA 简介 DM ...
- delphi的bpl、dcp 、dcu
BPL 英文全称 Borland Package library ,是一种特殊的DLL文件,用于代码重用和减少可执行文件.编译bpl时,仅需要添加相应功能的pas文件,如果有窗体,则需要添加dfm文 ...
- MySQL 将执行结果保存到文件
1. 使用mysql的tee命令记录对mysql的操作过程 (1)第一种情况是在连接数据库的时候使用tee >mysql -u root -p --tee=C:/log.txt ...
- Visual Studio部署matplotlib绘图库的C++版本
本文介绍在Visual Studio软件中配置.编译C++环境下matplotlibcpp库的详细方法. matplotlibcpp库是一个C++环境下的绘图工具,其通过调用Python接口, ...
- C# 重绘图片.图片加字,加矩形,加圆,加线,根据XY坐标修改RGB
using System; using System.Drawing; using System.Drawing.Drawing2D; using System.IO; using System.Ne ...
- 探索C语言中的联合体与枚举:数据多面手的完美组合!
欢迎大家来到贝蒂大讲堂 养成好习惯,先赞后看哦~ 所属专栏:C语言学习 贝蒂的主页:Betty's blog 1. 联合体的定义 联合体又叫共用体,它是一种特殊的数据类型,允许您在相同的内存位置存 ...
- JS 前序遍历、中序遍历、后序遍历、层序遍历详解,深度优先与广度优先区别,附leetcode例题题解答案
壹 ❀ 引 按照一天一题的速度,不知不觉已经刷了快两多月的leetcode了,因为本人较为笨拙,一道简单的题有时候也会研究很久,看着提交了两百多次,其实也才解决了70来道简单题,对于二分法,双指针等也 ...