java静态和非静态的调用 Java中为什么要有静态方法和非静态方法之分?

Java中为什么要有静态方法和非静态方法之分?静态方法没有对象,也没有对象数据。它们不能在多个实例或数组中使用。而不是静态方法,只能在建立实例后使用,这在很多情况下会非常麻烦。您可以理解非静态方法用于

Java中为什么要有静态方法和非静态方法之分?

静态方法没有对象,也没有对象数据。它们不能在多个实例或数组中使用。而不是静态方法,只能在建立实例后使用,这在很多情况下会非常麻烦。您可以理解非静态方法用于对象。静态方法用于工具类。另一种理解是,非静态方法作为参数隐式地传入当前对象。如果它们都是静态方法,那么代码实际上类似于C或basic,而不是面向对象的。它们都不是静态方法。实际上,它们是可以实现的,但是代码量会增加很多。

java静态方法与非静态方法有什么区别?

在创建对象之前可以使用静态方法。必须通过新对象调用非静态方法。例如:在没有新对象之前,publicclassper{publicstaticstringgettype(){return“human”}publicstringgetname(){return“Zhang San”}的上述类中的GetType方法可以这样使用:stringtype=每种类型()//type=“human”,但getname方法不能以这种方式使用。编译不会通过。Getname必须是这样的:perp=newper()stringname=p.Getname()//Na当然,GetType方法也可以通过对象调用:stringtype=p.GetType()//type=“human”总之,静态方法在创建实例之前存在,而非静态方法只在创建对象之后存在。