验证测试

(1)定义一个order 类 ,其中包涵四种权限修饰符属性 以及方法

private  int orderPrivate;
int orderDefault;
protected  int orderProtect;
public  int orderPublic;

如;

d

package day07;/*** @author chao* @create -05-2022-05-31-14:58*/
public class Order {private  int orderPrivate;int orderDefault;protected  int orderProtect;public  int orderPublic;private  void methodPrivate(){orderPrivate=1;orderDefault=2;orderProtect=3;orderPublic=4;}void methodDefault(){orderPrivate=1;orderDefault=2;orderProtect=3;orderPublic=4;}protected   void methodProtect(){orderPrivate=1;orderDefault=2;orderProtect=3;orderPublic=4;}public  void methodPublic(){orderPrivate=1;orderDefault=2;orderProtect=3;orderPublic=4;}
}

(2)同一个包进行测试

测试一

package day07;
package day07;/*** @author chao* @create -05-2022-05-31-15:02*/
public class OrderTest {public static void main(String[] args) {Order order=new Order();order.orderPublic=1;order.orderProtect=2;order.orderDefault=3;//出了Oder类 ,私有结构不可以被调用// order.orderPrivate=3;//属性不可见,无法调用//order.methodPrivate();  //方法也不可以调用order.methodDefault();order.methodProtect();order.methodPublic();}
}

结论:可以发现同一个包,但是出了Oder类 ,无法使用Private  结构和属性

(3)测试二

在不同包进行测试 ,但是该测试继承了Order

package day28;import day07.Order;/*** @author chao* @create -05-2022-05-31-15:25*/
public class SubOrder extends Order {public  void method(){orderPublic=1;orderProtect=2;methodPublic();methodProtect();//在不同包的子类中,不能调用oder类中声明为private和 缺省结构和属性//        orderPrivate=3;
//        orderDefault=4;
//
//        methodPrivate();
//        methodDefault();}
}

结论:在不同的包中,存在继承关系 时,不能够调用  Order类声明的private 和 default缺省结构和属性

(4)测试三

在不同包并且没有继承关系

package day06;import day07.Order;/*** @author chao* @create -05-2022-05-31-15:09*/
public class OrderTest {public static void main(String[] args) {Order order=new Order();order.orderPublic=1;order.methodPublic();//不同包下也不是子类 没有继承Order  不能调用protect 属性结构和方法
//         order.orderProtect=2;
//         order.methodProtect();//出了day07包 ,在day06包使用default结构无法使用// order.orderDefault=2;//can not be accessed from outside package//出了Oder类 ,私有结构不可以被调用// order.orderPrivate=3;//属性不可见,无法调用//order.methodPrivate();  //方法也不可以调用//  order.methodDefault();//can not be accessed from outsi}
}

结论:在不同的包,也不具有继承关系时 ,只能直接调用 Order类中声明为public的属性 与结构

(5)测试四;

当出了同一个模块,在不同模块调用Order类时,

此时创建对象直接提示报错 ,提示Add dependency on module "day04",此时无法使用order类

,此时需要用到jdk9新特性 中的模块化系统 ,使用模块依赖才能使用Oder类。

总结:(1)出了当前类 :无法使用private修饰符修饰的属性与结构 

        (2) 出了同一个包,但具有继承关系   ;无法使用  privateh和 default修饰符修饰的属性与结构 

(3)出了同一个包,并且无继承关系      只能使用 public修饰符修饰的属性与结构

(4)出了同一模块   即无法使用 Order ,无法创建Order对象

java四种权限修饰符 (private 、default(缺省)、prote、public)适用范围相关推荐

  1. Java 四种权限修饰符

    Java 四种权限修饰符访问权限 public protected (default) private 同一个类(我自己) yes yes yes yes 同一包(我邻居) yes yes yes n ...

  2. java四种访问修饰符

    访问修饰符 public,private,protected,以及不写(默认)时的区别: 定义:Java中,可以使用访问修饰符来保护对类.变量.方法和构造方法的访问.Java 支持 4 种不同的访问权 ...

  3. final关键字概念及其四种用法、四种权限修饰符的优先级以及内部类的相关概念

    一.final关键字代表最终.不可改变的. 常见的四种用法: ①.可以用来修饰一个类. ②.可以用来修饰一个方法. ③.还可以用来修饰一个局部变量. ④.还可以用来修饰一个成员变量. (1).修饰一个 ...

  4. Java 四种访问修饰符区别_四种访问修饰符的区别

    在Java编程语言中有四种权限访问控制符,这四种访问权限的控制符能够控制类中成员的可见性. 一.public (1)定义:public是公共的,被public所修饰的成员可以在任何类中都能被访问到. ...

  5. 【Java笔记】四种权限修饰符总结

     能否访问                           public   > protected > (default 不写) > private 同一个类(我自己)    ...

  6. Java中的四种访问修饰符:public、default、protect和private

    前言 Java中有四种访问修饰符用于控制类.接口.变量和方法的封装程度.这四种修饰符分别为: private 私有的,类可见性 package/friendly/default 包级别的/友好的/默认 ...

  7. java的四个访问修饰符_Java中的四种访问修饰符

    Java中修饰符分为两种:访问修饰符和非访问修饰符.修饰符中,有一些修饰符可以既可以修饰类,也可以修饰方法,但是有一些修饰符只能修饰符方法. 今天这篇文章先介绍一下四种访问修饰符. 1.private ...

  8. JAVA的四种访问修饰符

    JAVA中的访问修饰符,主要用于设置类.属性.方法的访问级别,有以下四种: 修饰符 同一个类 同一个包 子类 任何地方 public(公共的) Y Y Y Y protected(受保护的) Y Y ...

  9. java中有哪些访问修饰符_java中四种访问修饰符

    Java中的四种访问修饰符:public.protected.default(无修饰符,默认).private. 四种修饰符可修饰的成分(类.方法.成员变量) public protected def ...

最新文章

  1. Mac环境下Docker及Splash的安装运行教程
  2. 就业模拟试题1_答案
  3. Maven解决jar包版本冲突
  4. python编程软件排行榜_Python编程开发工具:这10个对Web开发者最有用的Python包
  5. [转载] Python中str跟int的转换
  6. 使用libcurl进行HTTP PUT
  7. python改变默认编码
  8. 暴力破解WiFi密码
  9. c语言成绩管理系统1.0,c语言成绩管理系统完整附源码v1.0 免费版
  10. c语言智能车跑道检测程序,智能小车的循迹方法与流程
  11. Python爬虫入门案例
  12. 关于NLPIR在MAC上的使用
  13. 如何写好项目规划和方案设计文档
  14. 弗兰克·盖里为华纳兄弟设计新总部,犹如漂浮在高速公路的‘冰山’
  15. 阿里达摩院(研究型实习生)
  16. Java获取国内手机号码归属地
  17. 阿里总参谋长曾鸣:区块链中没有绝对的“去中心化”
  18. 微信小程序---实现VR看房效果
  19. 为什么定义补码等于反码加一,知其所以然
  20. Nessus 安装文件和详细教程(kali系统,附网盘下载链接)

热门文章

  1. 国内网页无法加载reCAPTCHA解决方案
  2. 锂电池的正确使用:标称容量、存储条件及充放电
  3. 51单片机c语言除法符号,51单片机之C语言-4.4运算符及表达式
  4. AES128加密-S盒和逆S盒构造推导及代码实现
  5. c语言编程电机星三角启动,三相异步电动机星三角减压启动控制plc编程实例
  6. 疫情后推动出行即服务
  7. IFNULL()函数、CONCAT()函数、IF()函数、YEAR()函数、DATE_FORMAT()函数、LENGTH()函数、NOW()函数、CURDATE()函数、CURTIME()函数基本使用
  8. 一文读懂Jina生态的Dataclass
  9. 北大计算机科学系王腾蛟,本系简介
  10. 读《熵减 华为活力之源》