很多小伙伴不知道public,static,private,protected的用法,尤其是static和protected,虽然知道怎么用,但不知道是什么实际意义。小编这就为大家讲解!
在讲解之前,先为大家画一个总结的表格(Y是可见,N是不可见)
访问包位置/类修饰符 | 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