问题描述
- 有关于java中静态的问题?
-
我想知道在java中的静态方法是有什么作用的?它和普通方法有什么不一样?
解决方案
A,静态对象的数据在全局是唯一的,一改都改。如果你想要处理的东西是整个程序中唯一的,弄成静态是个好方法。 非静态的东西你修改以后只是修改了他自己的数据,但是不会影响其他同类对象的数据。
B,引用方便。直接用 类名.静态方法名 或者 类名.静态变量名就可引用并且直接可以修改其属性值,不用get和set方法。
C,保持数据的唯一性。此数据全局都是唯一的,修改他的任何一处地方,在程序所有使用到的地方都将会体现到这些数据的修改。有效减少多余的浪费。
D,static final用来修饰成员变量和成员方法,可简单理解为“全局常量”。对于变量,表示一旦给值就不可修改;对于方法,表示不可覆盖。
解决方案二:
静态方法是有什么作用?作用就是你不用实例化对象都可以使用。特别是在生成单例对象的时候特别有用(可以看单例模式)
普通方法你得实例化对象后才能调用
解决方案三:
Java泛型静态方法调用问题
Java中静态变量的问题
解决方案四:
静态方法和实例方法的区别主要体现在两个方面:
在外部调用静态方法时,可以使用“类名.方法名”的方式,也可以使用“对象名.方法名”的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。
静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。
解决方案五:
静态方法可以直接调用:类名.方法名
普通方法属于该方法的所属类,需要先实例化该方法的所属类再调用:实例.方法名
解决方案六:
静态方法属于静态变量,在类加载的时候就初始化了,类的所有实例都能访问到它,用法是类名.方法名;普通方法只有把类实例化后才能调用,用法是实例名.方法名
解决方案七:
工具类方法一般都是静态的,不需要构造实例就可以调用,比如计算最大最小值了、截取字符串什么的,因为这些用法在工程里会经常用到,所以设计为静态方法,直接调用就行。而一般方法是与实例相关系的,比如你实例化一个经理,他有一个方法是设置自己的地址,这样的方法一般都是非静态的,需要跟具体的实例相关系。