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(): |
,
静态意味着您不需要对象实例来访问变量。例子:
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 |