- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想了解 java 中的静态方法。我以前做过基本的 python,所以我试图在 Python 中可视化 Java 的静态方法。
是下面代码中的静态方法
class test{
public static void main(String[] args) {
printHello();
}
public static void printHello(){
System.out.println("This is a Java's static method");
}
}
相当于这个?
def printhello():
print("It is a printhello function")
class hello():
def printhello(self):
print("It is a printhello method of a instance")
由于可以在不创建对象的情况下访问static 方法,def printhello
将像这样工作。
当一个对象在Java中访问静态方法时,python类中提供的实例方法
就是这样工作的。
如果不是,什么是 java 静态方法在 python 中的正确可视化。
谢谢。
最佳答案
这里
class Hello:
def printhello(self):
...
您正在将 self
引用传递给该方法。这意味着它是一个实例方法。
默认情况下,static 方法从不拥有对其包含类的实例的引用。
Python 类 static 方法通常使用 @staticmethod
注释定义,它们不接受 self
class Hello:
@staticmethod
def printhello():
...
所以上面的代码在 Java 中会变成
class Hello {
public static void printhello() {
...
}
}
Java没有一级函数的概念,所以这个
def printhello():
print("It is a printhello function")
不是真正可翻译的,但它通常是在 Python 中定义自由/静态函数的一种更惯用的方式。
你可能已经理解了,回答你的问题
Is the static method in the code below
...
equivalent to this?
不,它根本不等价。
关于java - Java 静态方法可以可视化为 python 中的函数 + 具有相同名称(作为函数)的实例方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55329714/
出于好奇,我尝试了一些原型(prototype)制作,但似乎只允许在第一个位置使用子例程的原型(prototype) &。 当我写作时 sub test (&$$) { do_somethin
我需要开发一个类似于 Android Play 商店应用程序或类似 this app 的应用程序.我阅读了很多教程,发现几乎每个教程都有与 this one 类似的例子。 . 我已经开始使用我的应用程
考虑一个表示“事件之间的时间”的列: (5, 40, 3, 6, 0, 9, 0, 4, 5, 18, 2, 4, 3, 2) 我想将这些分组到 30 个桶中,但桶会重置。期望的结果: (0, 1,
我是一名优秀的程序员,十分优秀!