gpt4 book ai didi

java - 静态属性(Python 与 Java)

转载 作者:太空狗 更新时间:2023-10-30 01:13:09 29 4
gpt4 key购买 nike

Python类属性和Java静态属性有什么区别?

例如,

在 Python 中

class Example:
attribute = 3

在Java中

public class Example {

private static int attribute;

}

在 Python 中,可以使用对实例的引用来访问静态属性吗?

最佳答案

在 Python 中,您可以拥有同名的类变量和实例变量 [ Static class variables in Python ]:

>>> class MyClass:
... i = 3
...
>>> MyClass.i
3

>>> m = MyClass()
>>> m.i = 4
>>> MyClass.i, m.i
>>> (3, 4)

在 Java 中,你不能有同名的静态和非静态字段(以下将编译,你会得到错误“Duplicate field MyClass.i”):

public class MyClass {
private static int i;
private int i;
}

此外,如果您尝试从一个实例中分配一个静态字段,它将改变静态字段:

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

Java:

  public static void main(String[] args) {
System.out.println(new MyClass().i);
System.out.println(MyClass.i);
}

3
3

关于java - 静态属性(Python 与 Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37010773/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com