public,static,private,protected的用法

public,static,private,protected的用法很多小伙伴不知道public,static,private,protected的用法,尤其是static和protected,虽然知道怎么用,但不知道是什么实际意义

  很多小伙伴不知道public,static,private,protected的用法,尤其是static和protected,虽然知道怎么用,但不知道是什么实际意义。小编这就为大家讲解!

  在讲解之前,先为大家画一个总结的表格(Y是可见,N是不可见)

java的修饰符权限
访问包位置/类修饰符 public private protected
本类 Y Y Y
同胞其他类或子类 Y N Y
其他包的类或子类 Y N N

  public的用法

  public这个关键字想必大家肯定不陌生,新手都知道在定义类时要用到它。

public class Test {
    public static void main(String[] args) {
        
    }
}

  public定义的对象是全部公共的。不信我们再创建一个Test2类(在同包下,不然就要Import),在Test类(写代码的位置不在main函数里)里输入以下代码:

public class Test {
    public static int PI = 3.1415926535;
    //省略一些代码
}

  在Test2.java里输入下面的代码。

public class Test2 {
    /**
    *主方法
    */
    public static void main(String[] args) {
        //用这个变量
        System.out.println("圆周率是:"+Test.PI);
    }
}

  结果是它输出了“圆周率是:3.1415926535”,很明显它是成功的,这就是public。

  static的用法*

  static虽然大家用过,上面讲public定义变量时也用过其,但很多小伙伴还不知道它是什么意思。它的意思是“静态的”,下面我为大家讲解。

  有时在处理问题会遇到需要在两个class在同一个内存区域共享一个数据。比方,在小明类需要用到性别,而在小刚类里也需要用到。假如要在两个类同时创建sex变量,就显得嫌麻烦。对这个问题,可以把sex搞成静态的变量。

  注意:静态成员属于类所有,区别于个别对象,可在任何类中用”我的类.这个变量”来调用。

  例子:创一个StaticTest类,在里面定义一个变量、一个函数(用static),在main方法调用。

  

public class StaticTest {
    //建立了一个用static关键字创建的变量
    static String name = "JavaIdot"
    public static void main(String[] args) {
        /*
        *这段代码中的this提示:
        *this关键字是一个重点,它指的是本类。
        *但在其他类还是要写类的名字(StaticTest.name)
        *它具有很多用处,比方说
        *假如在构造方法(查API学习)中出现了本类全局变量的名字,譬如name,
        *你写name = name;,程序会报错,
        *所以,你要是写了this.name = name;,那就会运行正常。
        */
        this.function();
        System.out.println("我的csdn名是"+this.name+"。");
    }

    public static void function()
    {
        System.out.println("这是static的方法!");
    }
}

  运行结果:

这是static的方法!
我的csdn名是JavaIdot。

private的用法

  private,意思是“私有的”。顾名思义,它只能在本类可见和使用。比方,你创建一个test类,输入以下代码:

  

public class test
{
    private int 圆周率 = 3.14;
    public static void main(String[] args)
    {
        System.out.println("圆周率(小数点后两位):" + 圆周率);
    }
}

  结果是“圆周率(小数点后两位):3.14”。是在本类可以使用,但在其他类呢?不妨再创一个类,test2.java。

  

public class test2 {
    public static void main(String[] args) {
        System.out.println(test2.圆周率);
    }
}

  结果是系统报错。果然,其不行。

  但是,我们在java编写高级程序中,在类里会有一种类似”getXXX()”的函数,它是public的。其作用就是在其他类中获取XXX。咱们清空test、test2的代码,输入这些代码:

/**
*test的代码
*/
public class test {
    private int num = 123456;
    
    /**
    *这是我们这个所说的getXXX()
    */
    public int getNum()
    {
        return num;
    }

}

在test2输入main方法,在方法里输入“System.out.println(test.getNum())”,结果是输出“123456”。这就是private和getXXX。

protected的用法

  protected似乎并不常用,小编完全都没有使用过。根据描述,它只针对本类和子类,它的意思是“受保护的”。但我觉得,JDK开发人员估计经常使用它(因为一些swing组件或许会用protected)。

  以上就是public private protected static 的用法啦,喜欢的记得关注,点赞!

今天的文章public,static,private,protected的用法分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/65360.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注