java静态变量和静态方法_关于java:静态变量和静态方法和静态类有什么区别?...

本问题已经有最佳答案,请猛点这里访问。

我在面试,面试官问我这个问题,我不能让他满意他正在寻找的正确答案,需要帮助,谢谢。

静态变量被实例化一次,静态方法可以在不实例化类实例的情况下从类中调用,静态类不能被实例化。

@可以实例化RyanWilson静态类。您不能使顶级类成为静态的,但是当您使嵌套类成为静态的时,它可以独立于其父类被实例化。

@RyanWilson Pastebin.com/vsmg1vb4

不是很好的复制品。static表示字段、方法或类不绑定到封闭类的实例,否则将是这种情况。

静态变量是一个变量:

public static int whatever = 0;

静态方法是一种方法:

public static void whatever() {}

静态类是一个类:

public static class SomeInnerClass {}

(当类嵌套在另一个类中时,它只能有static修饰符)

静态变量和方法可以从任何其他类访问,并且不绑定到该类的实例。例如,假设您有以下类:

public class SomeClass {

public static int myInt = 0;

public static int add(int one, int two) {

return one + two;

}

}

从任何其他类中,您可以直接访问变量和方法,而无需创建SomeClass的实例:

SomeClass.myInt = 23;

int sum = SomeClass.add(SomeClass.myInt, 2); //this will equal 25

如果变量和方法不是静态的,则必须先实例化某个类,然后引用该实例:

SomeClass someClass = new SomeClass();

someClass.myInt = 23;

int sum = someClass.add(someClass.myInt, 2); //this will equal 25

静态类用于将嵌套类与其父类分离,并移除对该父类实例的依赖关系。采用以下代码:

public class ParentClass {

public class ChildClass {}

}

从另一个(父类的非子类)类,您可以使用:

ParentCLass parent = new ParentClass();

但你不能这样做:

ChildClass child = new ChildClass(); //this won't compile if it's not in ParentClass

但是,如果childclass变为静态:

public class ParentClass {

public static class ChildClass {}

}

您将能够从另一个(父类的非子类)类实例化它:

ChildClass child = new ChildClass(); //this will compile when put in any class

我建议阅读一些关于类如何工作的Java基础知识:HTTPS://www. GeksFurgEK.Org/CaseSoObjsJava/

在爪哇中,static是用来描述对象如何在内存中管理的关键字。这意味着静态对象专门属于类,而不是该类的实例。变量、方法、类可以是静态的。它们之间的区别和通常一样(变量、方法和类之间的区别)。静态变量(容器如int或string)、静态方法(一种内存中的方法,是类的一部分(可以调用没有类Hello .StActudiMod()的实例),静态类在Java中有点独特,用Java来研究静态类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值