Java权限修饰符(五)之“缺省”

Java权限修饰符(五)之“缺省”

一、可以修饰的成员
1、可以修饰类

//“缺省”修饰的类
class DefaultTest {
    public static void main(String[] args) {
        System.out.println("hello world");
    }
}

2、可以修饰变量

package mjl2020051802;

class DefaultTest {
    //“缺省”修饰的变量
    String str = "hello world";

    public static void main(String[] args) {
        System.out.println("hello world");
    }
}

3、可以修饰方法

class DefaultTest {
    //“缺省”修饰的方法
    void test(){
        System.out.println("hello world");
    }
    public static void main(String[] args) {
        DefaultTest dt = new DefaultTest();
        dt.test();
    }
}

4、可以修饰构造方法

class DefaultTest {
    //“缺省”修饰的构造方法
    DefaultTest(){
        System.out.println("hello world");
    }
    public static void main(String[] args) {
        DefaultTest dt = new DefaultTest();
    }
}

总结:“缺省”可以修饰任何成员

二、访问范围
1、本类中访问

class DefaultTest {
    //“缺省”修饰的变量
    String str = "hello world";
    //“缺省”修饰的方法
    void test(){
        System.out.println("hello world");
    }
    public static void main(String[] args) {
        DefaultTest dt = new DefaultTest();
        System.out.println(dt.str);
        dt.test();
    }
}

2、同包的类中访问

package mjl2020051802;

class DefaultTest {
    //“缺省”修饰的变量
    String str = "hello world";
    //“缺省”修饰的方法
    void test(){
        System.out.println("hello world");
    }
}
package mjl2020051802;

public class TestMain {
    public static void main(String[] args) {
        DefaultTest dt = new DefaultTest();
        System.out.println(dt.str);
        dt.test();
    }
}

3、子类中访问

package mjl2020051802;

class DefaultTest {
    //“缺省”修饰的变量
    String str = "hello world";
    //“缺省”修饰的方法
    void test(){
        System.out.println("hello world");
    }
}
package mjl2020051802;

public class DefaultTestSub extends DefaultTest {
    public static void main(String[] args) {
        DefaultTest dt = new DefaultTest();
        System.out.println(dt.str);
        dt.test();

        DefaultTestSub dts = new DefaultTestSub();
        System.out.println(dts.str);
        dts.test();
    }
}

4、其它类中访问

package mjl2020051802;

public class DefaultTest {
    //“缺省”修饰的变量
    String str = "hello world";
    //“缺省”修饰的方法
    void test(){
        System.out.println("hello world");
    }
}
package mjl2020051802.mjl;

import mjl2020051802.DefaultTest;

public class DefaultTestOther {
    public static void main(String[] args) {
        DefaultTest dt = new DefaultTest();
        //System.out.println(dt.str); //不可以访问
        //dt.test();//不可以访问
    }
}

总结:
1、被“缺省”修饰的成员,在本类中是可以正常访问的
2、被“缺省”修饰的成员,在同包的类中是可以正常访问的
3、被“缺省”修饰的成员,在子类中如果子类与父类同包,则子类对象和父类对象都可以访问,如果子类与父类不同包,则子类对象和父类对象都不可以访问
4、被“缺省”修饰的成员,在其它类中不可以被访问
注:被“缺省”修饰的类,在同包中可以引入,在非同包中不可以引入

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
缺省修饰符是Java中的一种访问修饰符,也被称为默认修饰符或包级私有。它的作用是在同一包中的类中访问被修饰的成员,而在不同包中的类中不能访问。在Java中,如果没有明确指定修饰符,那么成员(属性、方法、构造器等)就会默认使用缺省修饰符进行修饰。在接口中,成员的默认修饰符会自动省略,因此也被称为缺省属性。在代码示例中,do.java文件位于P2文件夹,all.java文件位于test/test文件夹下,all类中的allin方法没有指定修饰符,因此它是一个缺省的方法。缺省修饰符的主要作用是实现封装性的体现,通过限制不同包中的类对被修饰成员的访问,实现对代码的封装和保护。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Java中的封装与隐藏](https://blog.csdn.net/weixin_49772216/article/details/124475978)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Java接口成员变量和方法默认修饰符(缺省属性)](https://blog.csdn.net/weixin_42428778/article/details/109668830)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [java的public修饰符及缺省修饰符说明](https://blog.csdn.net/weixin_53262883/article/details/124294084)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值