java 权限修饰符

发布于:2022-07-25 ⋅ 阅读:(278) ⋅ 点赞:(0)

权限修饰符既可以修饰变量 也可以修饰方法

主要控制其他类的访问权限
首先 我们创建两个包
labourServices
下面创建一个类 叫 production
production类参考代码如下

public class production {
    private int min1 = 3;
    public int min2 = 3;
    int min3 = 3;
    public static int min4 = 3;
    private void mint1(){
        System.out.println("mint1");
    }
    void mint2(){
        System.out.println("mint2");
    }
    public void mint3(){
        System.out.println("mint3");
    }
    public static void mint4(){
        System.out.println("mint4");
    }
}

made包
下有两个类
mint类 参考代码如下

public class mint {
    private int min1 = 3;
    public int min2 = 3;
    int min3 = 3;
    public static int min4 = 3;
    private void mint1(){
        System.out.println("mint1");
    }
    void mint2(){
        System.out.println("mint2");
    }
    public void mint3(){
        System.out.println("mint3");
    }
    public static void mint4(){
        System.out.println("mint4");
    }
}

text 测试类 参考代码如下

public class text {
    public static void main(String args[]) {
        production production = new production();
        mint mint = new mint();
    }
}

然后打开production类 编写一个方法 getdata
参考代码如下

public void getdata(){
  mint1();
    mint2();
    mint3();
    mint4();
    System.out.println(min1);
    System.out.println(min2);
    System.out.println(min3);
    System.out.println(min4);
}

在测试类中 最下面加一行 production.getdata(); 通过测试类调用production新写的getdata方法
运行结果如下
在这里插入图片描述
很完整的效果 说明 在本类中 四种修饰符修饰的变量和方法 都是可以直接访问的 没有限制

我们可以看到 mint 和测试类在同一包下 我们试一下同一个包
在测试类编写

mint.mint1();
mint.mint2();
mint.mint3();
mint.mint4();
System.out.println(mint.min1);
System.out.println(mint.min2);
System.out.println(mint.min3);
System.out.println(mint.min4);

在这里插入图片描述
这是 我们看到 方法 和变量 的第一个都报错了 而 他们都是由private 修饰的 在其他类中就不能直接访问了 其他三个只要在同一个包下就可以访问了

然后我们试一下在不包下的production
测试类编写代码

 production.mint1();
 production.mint2();
  production.mint3();
  production.mint4();
  System.out.println(production.min1);
  System.out.println(production.min2);
  System.out.println(production.min3);
  System.out.println(production.min4);

在这里插入图片描述
我们发现 变量和方法不太一样 在不同包下 private不用说 不在同一个类下就报错了
而public void 只能在同一个包下访问 变量的话则是 没有修饰符默认的声明方法 只能在同一个包下访问

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到