Java中的静态方法是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中的静态方法是啥?相关的知识,希望对你有一定的参考价值。

它有什么特征?能否举几个例子》

静态方法是在类中使用staitc修饰的方法,在类定义的时候已经被装载和分配。

静态方法为类所有,可以通过对象来使用,也可以通过类来使用。

我们之前一直写的mian方法仔细看看,它就是一个静态方法,静态方法使用如下:

运行结果:

使用静态方法时,要注意:

1、静态方法可以调用同类中的其他成员,但不能直接调用非静态成员,如:

运行结果:

2、但是如果希望静态方法中调用非静态成员,可以通过创建类的对象 ,然后通过对象来访问非静态变量。如

运行结果:

3、静态方法同样不能直接调用非静态方法,但可以通过对象来访问非静态方法,如:

运行结果:

参考技术A 静态方法是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象再使用该方法。
例如,我创建一个类,里面有一个静态方法:
class Test
public static int z(int xx,int yy)
return xx+yy;

public int zz(int xx,int yy)
return xx+yy;


然后在含有main方法的类中使用这个类时,对与以上非静态和静态方法的引用方式是不同的,如下:

import Test;
public class mainClass
int sum;
public static void main(String args[])

sum=Test.z(1,2); //直接用 类.方法或者属性就可以使用该方法或属性。

System.out.println(sum);
Test t=new Test();
sum=t.zz(1,2); //因为zz不是静态方法,所以只能只能用Test类创建一个t对象,然后调用该对象的方法。
System.out.println(sum);


ls他们说的也是有道理的,静态方法只能被静态方法调用。本回答被提问者采纳
参考技术B 静态方法最大的特点就是,不用生成类的实例对象,直接可以用。

它的语法格式:<类名|实例名>.<类变量名>

Java中的静态方法中,在方法声明时前面要加static 修饰符。

例:
public class Test


public static void main(String[] args)

SObject object1 = new Circle();
SObject object2 = new Cylinder();

displayobject(object1);
displayobject(object2);


static void displayobject(SObject object)
if (object instanceof Cylinder)
System.out.println(object.findArea());

else if(object instanceof Circle)
System.out.println(object.findArea());




把displayobject()方法声明为static,在main里面就可以直接调用。
参考技术C 静态方法的特征:静态的方法属于类的可以直接使用类名.方法名()调用,

在Java中也可以使用类的实例来调用;
比如:
类名 实例名=new 类名()
实例名.方法名();

但在静态方法中不能直接调用实例方法.!!

一个简单静态方法
public static void Get()
System.out.println("这是一个静态方法!")


实例和静态方法自己多去写几个例子就明白了!
参考技术D  静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。
因为实例成员与特定的对象关联!这个需要去理解,想明白其中的道理,不是记忆!!!
因为static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract。学习Java在这里给你推荐一下B站高淇老师的视频,希望对你有所帮助

java中静态方法,静态变量,静态初始化器,构造函数,属性初始化都是啥时候调用的? 它们的先后顺序。

静态方法是你手动调用的时候执行。
静态变量与类一起加载,最优先的。
然后是,静态初始化器(只初始化静态成员变量)。
然后是,属性初始化(只初始化非静态成员变量)。
最后是,构造函数(常用的,你懂的)...

记住:先是静态,然后是非静态。
参考技术A 静态方法,静态变量,静态初始化器 因为是静态的 所以按照你写的顺序执行

构造函数,属性都是属于实例化的东西,所以比非静态的后执行
参考技术B http://blog.csdn.net/rayregister/article/details/8524991

以上是关于Java中的静态方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

java中的成员变量、类变量,成员方法、类方法各是啥,怎么区分,

java中静态方法,静态变量,静态初始化器,构造函数,属性初始化都是啥时候调用的? 它们的先后顺序。

这里的静态在java中指的是啥

静态类和内部类的区别是啥

实现 AsyncTask 的正确方法是啥?静态或非静态嵌套类?

管理静态 HTML 网站中重复代码的最佳方法是啥