Java中的静态方法是什么?
发布网友
发布时间:2022-04-24 13:29
我来回答
共6个回答
热心网友
时间:2022-04-18 05:16
静态方法是在类中使用staitc修饰的方法,在类定义的时候已经被装载和分配。
静态方法为类所有,可以通过对象来使用,也可以通过类来使用。
我们之前一直写的mian方法仔细看看,它就是一个静态方法,静态方法使用如下:
运行结果:
使用静态方法时,要注意:
1、静态方法可以调用同类中的其他成员,但不能直接调用非静态成员,如:
运行结果:
2、但是如果希望静态方法中调用非静态成员,可以通过创建类的对象 ,然后通过对象来访问非静态变量。如
运行结果:
3、静态方法同样不能直接调用非静态方法,但可以通过对象来访问非静态方法,如:
运行结果:
热心网友
时间:2022-04-18 06:34
静态方法是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象再使用该方法。
例如,我创建一个类,里面有一个静态方法:
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他们说的也是有道理的,静态方法只能被静态方法调用。
热心网友
时间:2022-04-18 08:08
静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。
因为实例成员与特定的对象关联!这个需要去理解,想明白其中的道理,不是记忆!!!
因为static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract。学习Java在这里给你推荐一下B站高淇老师的视频,希望对你有所帮助
热心网友
时间:2022-04-18 10:00
静态方法的特征:静态的方法属于类的可以直接使用类名.方法名()调用,
在Java中也可以使用类的实例来调用;
比如:
类名 实例名=new 类名()
实例名.方法名();
但在静态方法中不能直接调用实例方法.!!
一个简单静态方法
public static void Get(){
System.out.println("这是一个静态方法!")
}
实例和静态方法自己多去写几个例子就明白了!
热心网友
时间:2022-04-18 12:08
静态方法最大的特点就是,不用生成类的实例对象,直接可以用。
它的语法格式:<类名|实例名>.<类变量名>
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里面就可以直接调用。
热心网友
时间:2022-04-18 14:32
属性为static的,只能被调用static的类调用,