>>> class MyClass:
... i = 3
...
>>> MyClass.i
3
>>> m = MyClass()
>>> m.i = 4
>>> MyClass.i, m.i
>>> (3, 4)
在Java中,静态和非静态字段不能具有相同的名称(下面将not编译,会出现错误“Duplicate field MyClass.i”):
^{pr2}$
此外,如果尝试从实例中分配静态字段,则会更改静态字段:
public class MyClass {
private static int i = 3;
public static void main(String[] args) {
MyClass m = new MyClass();
m.i = 4;
System.out.println(MyClass.i + ", " + m.i);
}
}
4, 4
在Java和Python中,可以从实例访问静态变量,但不需要:
Python:
>>> m = MyClass()
>>> m.i
3
>>> MyClass.i
3
爪哇语:
public static void main(String[] args) {
System.out.println(new MyClass().i);
System.out.println(MyClass.i);
}
在Python中,可以有一个类变量和一个同名的实例变量[Static class variables in Python]:
在Java中,静态和非静态字段不能具有相同的名称(下面将not编译,会出现错误“Duplicate field MyClass.i”):
^{pr2}$此外,如果尝试从实例中分配静态字段,则会更改静态字段:
在Java和Python中,可以从实例访问静态变量,但不需要:
Python:
爪哇语:
相关问题 更多 >
编程相关推荐