Rumah  >  Soal Jawab  >  teks badan

Dalam kod video Java Gaoqi, mengapakah masa dicetak menggunakan objek baharu yang dibuat menggunakan kelas Tarikh, tetapi alamat kod cincang dicetak menggunakan objek binaan sendiri?

Semasa saya menonton video Teacher Gao baru-baru ini, saya mendapati titik pengetahuan yang saya tidak begitu faham Kodnya adalah seperti berikut:

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;
}

Hasil keluaran adalah seperti berikut:

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

Ia juga mencetak objek Mengapa objek kelas Tarikh mengeluarkan masa semasa, manakala objek binaan sendiri mengeluarkan kod cincang?

Xiaomengxin meminta bantuan daripada rakan-rakan, saya sangat kagum!

巴扎黑巴扎黑2646 hari yang lalu907

membalas semua(4)saya akan balas

  • 欧阳克

    欧阳克2017-06-23 09:16:34

    Kaedah Println akan memanggil kaedah toString objek keluaran Jika objek tidak mentakrifkan kaedah toString, ia akan mengikut rantaian warisan untuk mencari kelas induk.
    Tarikh mempunyai kaedah toString yang ditakrifkan, jadi output adalah maklumat atribut yang diformatkan.
    Kelas Anjing tersuai tidak mempunyai kaedah toString, jadi kaedah toString kelas induk digunakan, iaitu Object's

    balas
    0
  • 巴扎黑

    巴扎黑2017-06-23 09:16:34

    Apabila mencetak objek, nilai pulangan kaedah toStringnya akan dicetak Date mengatasi kaedah toString. Jika Dog tidak mengatasi toString, ia akan memanggil kaedah toString Object kelas induk

    balas
    0
  • typecho

    typecho2017-06-23 09:16:34

    Kelas Date mengatasi toString() dalam kelas induk Objek, tetapi kelas anda sendiri tidak. . . Lihat kod sumber kelas Tarikh

    balas
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-23 09:16:34

    Kaedah toString telah ditulis semula, anda boleh menyemaknya sendiri dalam kod sumber.

    balas
    0
  • Batalbalas