请问 java 中 public static final, 跟 public static void有什么区别啊?

 我来答
renren_tianyu
推荐于2018-03-14
知道答主
回答量:5
采纳率:100%
帮助的人:7638
展开全部
public static final 用于声明一个变量,并且这个变量在程序中不能够改变。

比如 public static final float PI = 3.14;
这个PI值在程序中再次进行赋值是没效果的。

public static void 一般是放到一个方法前面,void 表示方法什么都不返回。static

表示调用者不用new 一个对象就可以直接调用这个方法。

比如 常见的 public static void main(String args[])

一个用于变量声明,一个用于方法声明。
更多追问追答
追问
是不是就是说用了final,把3.14赋给PI,PI的值就不能改变了,                                                    比如 public static final int PI = 30

PI = 50 + total apples
不管后面怎么写,PI的值永远是30是不是啊
追答
是的,
如果你用 PI = 50 + total apples 这样去赋值的话,系统会提示错误 说final类型的变量不能被重新赋值。
whpwhp4
2013-03-14
知道答主
回答量:6
采纳率:0%
帮助的人:8248
展开全部
本质的区别,第一个(public static final)表示声明的方法不可覆盖,类不可继承
第二个(public static void)表示声明的方法没有任何返回值,可直接类名点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
专治八阿哥的孟老师
2013-03-14 · 爱生活,爱编程,专心于学习技术和撸猫
专治八阿哥的孟老师
采纳数:494 获赞数:3914

向TA提问 私信TA
展开全部
final是最终,就是你这里定义之后,其它地方就不能改了
void是空,函数如果是void的就没有返回值
更多追问追答
追问
我不太懂什么最终,返回值诶。。。我刚学这个,那这两个具体有没有什么区别呢,能举个例子么?
追答
public static final method1(){....}不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用
public static void method2(){....}这个就是一个没有返回值的函数
没办法再解释了,final定义的方法就是可以直接使用的,以后不许重写这个方法了。
返回值这个就简单啦,有的函数有返回值,有的函数没返回值,看需求。void 和final本来就是俩不同功能的东西,谈不上联系区别。

public void f1() {
System.out.println("f1");
} 这是一个void方法,他没有返回值,直接在控制台输出"f1"俩字,但是子类可以重新写这个方法

public final void f2() {
System.out.println("f2");
} 无法被子类覆盖的方法 ,这个你学了继承之后才懂

public final int f3() {
int a=1+1;

return a;

}不是void 的方法就必须有返回值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小傻

2018-07-29 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11571 获赞数:31138
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部
static代表着不随着类来初始化,可以直接使用,这样就可以找到程序的主入口
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者ketete
2013-03-14 · TA获得超过2372个赞
知道小有建树答主
回答量:1526
采纳率:0%
帮助的人:1199万
展开全部
加上final 修饰的方法,不能被重写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式