首页编程java编程java 什么时候用静态方法(java里静态方法在什么情况下使用,好处是什么)

java 什么时候用静态方法(java里静态方法在什么情况下使用,好处是什么)

编程之家2023-10-14110次浏览

今天给各位分享java 什么时候用静态方法的知识,其中也会对java里静态方法在什么情况下使用,好处是什么进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

java 什么时候用静态方法(java里静态方法在什么情况下使用,好处是什么)

java里静态方法在什么情况下使用,好处是什么

转:

静态方法和实例方法的区别主要体现在两个方面:

在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。

java 什么时候用静态方法(java里静态方法在什么情况下使用,好处是什么)

静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。

下面几个例子展示了这一区别。

1、调用静态方法示例。

java 什么时候用静态方法(java里静态方法在什么情况下使用,好处是什么)

//-----------文件名hasStaticMethod.java,程序编号1-----------------public class hasStaticMethod{//定义一个静态方法public static void callMe(){System.out.println("This is a static method.");}}

下面这个程序使用两种形式来调用静态方法。

//-----------文件名invokeStaticMethod.java,2-----------------public class invokeStaticMethod{public static void main(String args[]){hasStaticMethod.callMe();//不创建对象,直接调用静态方法 hasStaticMethod oa= new hasStaticMethod();//创建一个对象oa.callMe();//利用对象来调用静态方法}}

程序3.36两次调用静态方法,都是允许的,程序的输出如下:

This is a static method.This is a static method.

允许不创建对象而调用静态方法,是Java为了减少程序员调用某些常用方法时的麻烦,而允许程序员按照传统的C语言中使用函数的方式来使用方法。典型的例子是前面某些程序中使用"Math.ramdon()"来获取随机数。

2、静态方法访问成员变量示例。

//-----------文件名accessMember.java,程序编号3.37-----------------class accessMember{private static int sa;//定义一个静态成员变量private int ia;//定义一个实例成员变量//下面定义一个静态方法static void statMethod(){int i= 0;//正确,可以有自己的局部变量sa= 10;//正确,静态方法可以使用静态变量otherStat();//正确,可以调用静态方法ia= 20;//错误,不能使用实例变量insMethod();//错误,不能调用实例方法}static void otherStat(){}//下面定义一个实例方法 void insMethod(){int i= 0;//正确,可以有自己的局部变量sa= 15;//正确,可以使用静态变量ia= 30;//正确,可以使用实例变量statMethod();//正确,可以调用静态方法}}

本例其实可以概括成一句话:静态方法只能访问静态成员,实例方法可以访问静态和实例成员。之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,并不一定存在对象。同样,因为实例方法可以访问实例成员变量,如果允许静态方法调用实例方法,将间接地允许它使用实例成员变量,所以它也不能调用实例方法。基于同样的道理,静态方法中也不能使用关键字this。

main()方法是一个典型的静态方法,它同样遵循一般静态方法的规则,所以它可以由系统在创建对象之前就调用。

java static方法什么时候执行

当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static。

用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用

比如 person这个类里面有一个方法public static add(){}

那么可以直接用person类调用 person.add();当然也可以用下面的方法先出一个对象在调用也是可以

如果这个方法前面没有static比如 public add(){}

那么先要person p=new person();

然后用p.add();

类加载器在加载这个类的时候就已经实例化了这个类。

坏处:初始化加载,比较占内存,所以不经常用的方法,不建议加此关键字。

java中什么时候用静态 ,好处是什么

/*

static(静态\修饰符)

1.static修饰成员变量:如果有数据需要被共享给所有对象使用时,那么就可以使用static修饰。

静态成员变量的访问方式:

方式1:可以使用对象进行访问。

格式:对象.变量名。

方式二:可以使用类名进行访问。

格式:类名.变量名;

注意:

1.非静态的成员变量只能使用对象进行访问,不能使用类名进行访问。

2.千万不要为了方便访问数据而使用static修饰成员变量,只有成员变量的数据是真正需要被共享的时候

才使用static修饰。

static修饰成员变量的应用场景:如果一个数据需要被所有对象共享使用的时候,这时候即可好实用static修饰。

2.static修饰成员函数:

*/

classStudent{

static Stringname;//非静态成员变量

static Stringcountry="中国";//静态的成员变量

publicStudent(Stringname){

this.name=name;

}

}

classDemo10{

publicstaticvoidmain(String[]args)

{

Students1=newStudent("狗娃");

Students2=newStudent("狗剩");

//System.out.println("国籍:"+Student.country);

System.out.println("名字:"+s1.name);

System.out.println("名字:"+s2.name);

}

}

Java中的静态方法是什么

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

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

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

运行结果:

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

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

运行结果:

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

运行结果:

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

运行结果:

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

飞机票打折(飞机票打折日期)java什么是封装性?java中什么是类的封装性