首页 新闻 会员 周边 捐助

python与java的对比

0
[已关闭问题] 关闭于 2025-12-03 15:02

self.nameself.age(实例属性) ↔ Java 的实例成员变量

PythonJava
定义在 __init__ 或方法中,通过 self.xxx 赋值 定义在类中,不加 static 的字段
每个实例独立拥有自己的副本 每个对象有自己的副本
示例:
self.name = "Alice"
示例:
private String name;

对应关系成立

self.name 就是 Python 中的实例属性,等价于 Java 的非静态成员变量

*Tesla*的主页 *Tesla* | 小虾三级 | 园豆:1220
提问于:2025-12-03 14:59
< >
分享
所有回答(1)
0

类的“静态变量” ↔ Java 的 static 变量?

这里要小心!Python 没有真正的“静态变量”语法关键字,但可以通过在类体中直接定义变量来模拟:

Python
class MyClass:
     count = 0 # 这是一个类属性(class attribute)
     def __init__(self):
        MyClass.count += 1
  • count 是类属性(class attribute),所有实例共享。
  • 修改 MyClass.count 会影响所有实例(除非某个实例自己创建了同名的实例属性)

这确实类似于 Java 的 static 变量:

Java
public class MyClass {
      public static int count = 0;
}
 

“类的常量” ↔ Java 的类常量(public static final)?

Python 没有真正的常量机制(没有 finalconst 关键字)。但约定俗成:

  • 全大写命名表示“常量”:
  • class MathUtils: PI = 3.14159 MAX_SIZE = 100

而 Java 的:

Java
public static final double PI = 3.14159; 2// PI = 3; // 编译错误!
Python 没有真正的“常量”,只有“假装是常量的类属性”。
*Tesla* | 园豆:1220 (小虾三级) | 2025-12-03 15:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册