Est-ce qu'une méthode Java statique être visualisé comme une fonction en python + une méthode d'instance du même nom (en fonction)?

Lynxx:

Je suis en train de comprendre les méthodes statiques en java. Je l'ai fait un python de base avant, donc je suis en train de visualiser méthode statique de Java en Python.

La méthode statique dans le code ci-dessous

class test{
    public static void main(String[] args) {
        printHello();
    }

    public static void printHello(){
        System.out.println("This is a Java's static method");
    } 
}

équivalent à cela?

def printhello():
    print("It is a printhello function")

class hello():
    def printhello(self):
        print("It is a printhello method of a instance")

Comme statiques méthodes sont accessibles sans création d'objets, def printhellofonctionnerait comme ça.

Et quand un objet accède méthode statique en Java, la instance methodcondition serait dans la classe de python fonctionne comme ça.

Sinon, quelle serait la visualisation à droite de la méthode en python statique d'un java.

Merci.

LppEdd:

Ici

class Hello:
    def printhello(self):
        ...

vous passez une selfréférence à la méthode. Cela signifie qu'il est un exemple méthode.
Une statique méthode possède jamais une référence à une instance de classe contenant par défaut.

Classe Python statiques méthodes sont définies, généralement, en utilisant l' @staticmethodannotation, et ils n'acceptentself

class Hello:
    @staticmethod
    def printhello():
        ...

Ainsi, le ci-dessus deviendrait, en Java

class Hello {
    public static void printhello() {
        ...
    } 
}

Java ne pas le concept de fonctions de premier niveau, cette

def printhello():
    print("It is a printhello function")

est pas vraiment traduisible, mais il est généralement une façon plus idiomatiques de définir les fonctions libres / statiques en Python.


Comme vous l'avez compris, répondre à votre question

La méthode statique dans le code ci - dessous
...
équivalent à cela?

Non, ce n'est pas du tout équivalent.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=203579&siteId=1
conseillé
Classement