Java 修饰符 private、default、protected、public 的应用实例 (方法)

   在Java中,修饰符的作用是用来定义类、方法法或者变量的访问权限,它主要分两大类:


   访问修饰符: 限定类、属性或方法是否可以被程序里的其他部分访问和调用的修饰符。private - default - protected - public


   非访问修饰符: 用来修饰或者辅助功能,例如 static、final、abstract、synchronized等。


   外部类修饰符: public或者为default


   方法、属性修饰符:private、default、protected、public
   public - 公开对外部可见
   protected - 对包和所有子类可见
   default - 对类内部和同一包內
   private - 仅对类内部可见


   接着,将通过以下实例说明各个的用法


   创建一个 demo 的 包 和 Father 类,创建一个 test() 的方法 。( 级别为:default)
在这里插入图片描述


   再创建一个 test 的包 和 MainTest 的 类, 当在 MainTest 里 调用 Father 类的 test() 方法时,会有报错。原因: test() 方法级别为 default,只适用于当前类和同一包內调用,当不同包调用时,违反了调用法则而导致报错。

在这里插入图片描述


   当对 Father 类的实例化时,是没有问题的。
在这里插入图片描述


   同理,如果把 Father 类 的 public 去掉,级别变成 default 的情况下,再次 进行 Father 类的实例化时,会有报错。


在这里插入图片描述


在这里插入图片描述


   在保持 default 级别情况下,解决报错的方法有两种:


   1. 把 MainTest 这个类 直接移到 demo 包里,那么它就和 Father 类在同一个包里,符合 default 调用 法则。


在这里插入图片描述


   2. 在Father 类改回 public 级别,把 MainTest 移回 test 的包里,用 继承类的方法 extends 去继承 Father 类。


   MainTest 进行实例化后,就作为子类去继承 Father 类,调用 Father 的 test() 方法后,会出现报错。原因:default 级别情况下,当不同包的子类调用时,违反了调用法则而导致报错。


在这里插入图片描述


   为 Father 类 test() 添加 public 或者 protected 级别,就可以正常在 MainTest 类中 调用它。


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


   当 test() 方法 设为 private, 只能在当前类里调用。


   下一期将讲解这4个级别的属性应用


在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值