
请问 java 中 public static final, 跟 public static void有什么区别啊?
5个回答
展开全部
public static final 用于声明一个变量,并且这个变量在程序中不能够改变。
比如 public static final float PI = 3.14;
这个PI值在程序中再次进行赋值是没效果的。
public static void 一般是放到一个方法前面,void 表示方法什么都不返回。static
表示调用者不用new 一个对象就可以直接调用这个方法。
比如 常见的 public static void main(String args[])
一个用于变量声明,一个用于方法声明。
比如 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类型的变量不能被重新赋值。
展开全部
本质的区别,第一个(public static final)表示声明的方法不可覆盖,类不可继承
第二个(public static void)表示声明的方法没有任何返回值,可直接类名点。
第二个(public static void)表示声明的方法没有任何返回值,可直接类名点。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
final是最终,就是你这里定义之后,其它地方就不能改了
void是空,函数如果是void的就没有返回值
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 的方法就必须有返回值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
static代表着不随着类来初始化,可以直接使用,这样就可以找到程序的主入口
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加上final 修饰的方法,不能被重写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询