关于java:我需要非常基本的了解静态意味着什么

I need a very basic understanding of what static means

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

我是Java新手,尽管到处搜索,但我找不到静态的实际定义。有人能告诉我这是什么意思吗?另外,请把你的回答说成我甚至不知道Java是什么,没有编程语言的例子吗?非常感谢。编辑:我的理解是,当你在一个构造函数中有一个静态变量时,

1
2
3
4
5
6
7
i.e. you have
class test{
   static int a = 5;
   public test(){
}

}

然后

1
2
test test1 = new test();
test test2 = new test():

test1.a等于5,test2.a也等于5。但是,如果您更改test1.a = 6test2.a也等于6?


静态意味着您不需要对象实例来访问变量。例子:

1
2
3
4
class Smth{
public static int a;
public int b;
}

在这种情况下,您可以执行以下操作:Sth.A=6;但你不能这样做:SMT.B=3;如果要访问b,必须首先创建如下对象的实例:smth实例=new smth();实例:B=3;

记录:白炽度A和smth.A是同一个变量。因此,如果设置instance.a=2,以后要读取smth.a,那么将读取2。你不能试着运行一个简单的代码,然后测试它,你得到什么。

通常,静态变量对于类的所有实例都是相同的,如果在一个实例中进行更改,则在所有实例中都会进行更改。非静态变量类的每个实例都有自己的变量,因此如果您在一个实例中更改值,则其他实例中的其他值不会更改。


既然你说,你甚至不知道Java,这是我可以开始的最好的:

Java中有一个用于创建类的概念。

大多数情况下,类就像一个模板:例如:人。

为了使用这个类,我们实例化它,或者说,我们创建一个它的对象:例如:安迪,蒂娜。

事业的发展

我们通常通过引用实例(对象)来访问变量或函数。

1
Andy.getName(); // Andy is an instance of Human Class. Normally created as -> Human Andy = new Human();

如果这些成员或函数被标记为静态的,则可以直接引用类本身访问它们。

1
Human.getName();  //Human is a class

不过,我建议你从Kathy Sierra的"头一号Java"开始。非常适合您的体验。


静态意味着属于一个类,而不是属于一个对象(一个类的实例)


静态成员存储在类级别,而不是对象级别。可以直接使用类名访问静态成员。不需要创建对象。


假设您有一个整数x,并且您在代码的不同级别上使用了5次x,现在如果x在程序的任何部分发生了变化,那么它会影响到每个地方。

如果将方法设置为静态,则不需要调用其对象,然后调用方法。例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class abcd
{
public static void check()
{
System.out.println("static");
}
public void check1()
{
System.out.println("not static");
}
public static void main(String args[])
{
abcd a=new abcd();
a.check1();
abcd.check();
}
}