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

如题所述

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类型的变量不能被重新赋值。

追问

加个qq行么。。
我qq359687095

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-14
本质的区别,第一个(public static final)表示声明的方法不可覆盖,类不可继承
第二个(public static void)表示声明的方法没有任何返回值,可直接类名点。
第2个回答  2013-03-14
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 的方法就必须有返回值

追问

大学刚学programming,好难理解,没基础。。。
大神能加个qq么,我qq:359687095

第3个回答  2018-07-29
static代表着不随着类来初始化,可以直接使用,这样就可以找到程序的主入口本回答被网友采纳
第4个回答  2013-03-14
加上final 修饰的方法,不能被重写

请问java 中 public static final, 跟 public static void有什么区别啊...
public static void 一般是放到一个方法前面,void 表示方法什么都不返回。static 表示调用者不用new 一个对象就可以直接调用这个方法。比如 常见的 public static void main(String args[])一个用于变量声明,一个用于方法声明。

Java 装饰词public、private、static、final等声明词
static**与**final**是Java语言中另外两个重要的关键字,它们分别针对变量和方法提供特殊功能。1. **static**:表示静态属性或方法,它们与类本身关联,而不属于类的任何实例。静态成员可以在类加载时初始化,并且可以直接通过类名访问,无需创建实例。静态成员可用于实现单例模式、资源管理等功能。2. ...

在java中public void与public static void有什么区别 ?
tatic public与public static是等价的,这两者只是两个修饰符的顺序不同。根据oracle.com教材中第八章的描述,如果两个或两个以上的(不同的)字段修饰符出现在字段声明,它们出现的顺序需与FieldModifier一致,这只是习惯,但不是必需的。部分修饰符说明:public是访问权限修饰符,用于控制外界对类内部成员...

Java中的关键字static和final的作用
public void f1(final int i) { \/\/i++; \/\/i是final类型的,值不允许改变的. System.out.print(i); } } 二、static static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。 被static修饰的成员变量和成员方法独立于该类的任何...

区别final, static和static final
首先,final是一种修饰符,它意味着"最终的"和"不可变的"。它可以修饰类、方法和变量。对于基本数据类型,一旦赋值,其值是固定的,无法改变。而对于引用类型,final修饰的是引用的指向,即对象的地址,它不可变,但对象内部的属性仍可修改。其次,static关键字则表示"全局的"或"静态的"。它可应用于...

public static final 和 public final的区别是什么?
区别在於前者有个 static ,所以前者是静态的,而后者不是,在静态的函数内必须用静态的变量,而非静态的函数也可以用静态的变量

public final static 。。。是什么意思?
static void fn();\/\/声明静态函数void main(){ fn();}void fn()\/\/定义静态函数{ int n=10; cout<<n<<endl;}定义静态函数的好处:静态函数不能被其它文件所用; 其它文件中可以定义相同名字的函数,不会发生冲突; 二、面向对象的static关键字(类中的static关键字)1、静态数据成员在类内数据成员的声明前加...

java关键词中static,public,protected有什么区别,能不能顺便讲个实例...
此时num就是2;如果非static的对象,例如"public int num=0",这个对象被定义在A类,当A对它进行加1操作后,B类再对这个num进行加1操作。两个num分别的得值为都是1。再来说说public和protected的区别,最简单的理解就是public定义的方法或对象,可以在程序中任意一个包下使用,而protected只有在当前包...

public,private和static的区别是什么?
在Java中,public,private和static关键字分别用于控制访问权限和创建类的静态成员,它们之间有明显区别。public修饰符表示最开放的访问权限。任何类都可以访问声明为public的类、变量、方法或构造器。在使用public关键字时,可与其他修饰符如static,final等一同使用。private修饰符表示最私有的访问权限。声明为...

java中static 和static final具体使用时有什么很大却别啊?
public static print(){ System.out.println("Method");} public static void main(String[] args){ Demo d = new Demo();} } static 修饰的属性,变量和方法,也是一样的。不过,这使得他们有两个新的特性,一是只能够被static的字段访问,二是可以通过类名访问。比如刚才的例子,如果是普通的...

相似回答