Dans le code vidéo Java de Gao Qi, pourquoi l'heure s'imprime-t-elle à l'aide d'un nouvel objet créé à l'aide de la classe Date, alors que l'adresse du code de hachage s'imprime à l'aide d'un objet auto-créé ?
巴扎黑
巴扎黑 2017-06-23 09:14:34
0
4
975

Lorsque j'ai regardé la vidéo du professeur Gao récemment, j'ai trouvé un point de connaissance que je n'ai pas bien compris. Le code est le suivant :

.
public class Test065 {
    public static void main(String[] args){
        Date d = new Date();//得到当前时间的毫秒数
        System.out.println(d);
        Dog a = new Dog();
        System.out.println(a);
    }
}

class Dog{
    int age;
}

Les résultats de sortie sont les suivants :

Thu Jun 15 19:43:29 CST 2017
com.test065.Dog@33909752

Il imprime également un objet. Pourquoi l'objet de classe Date affiche-t-il l'heure actuelle, tandis que l'objet auto-construit affiche le code de hachage ?

Xiaomengxin demande de l'aide à des amis, je suis très impressionné !

巴扎黑
巴扎黑

répondre à tous(4)
学霸

La méthode Println appellera la méthode toString de l'objet de sortie. Si l'objet ne définit pas la méthode toString, il suivra la chaîne d'héritage pour trouver la classe parent.
Date a une méthode toString définie, donc la sortie est des informations d'attribut formatées.
La classe Dog personnalisée n'a pas de méthode toString, donc la méthode toString de la classe parent est utilisée, qui est celle d'Object

巴扎黑

Lors de l'impression d'un objet, la valeur de retour de sa méthode toString sera imprimée. La date remplace la méthode toString. Si Dog ne remplace pas toString, il appellera la méthode toString de la classe parent Object

typecho

La classe Date remplace toString() dans la classe parent Object, mais pas votre propre classe. . . Jetez un œil au code source de la classe Date

女神的闺蜜爱上我

La méthode toString a été réécrite, vous pouvez la vérifier vous-même dans le code source.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal