Rumah  >  Soal Jawab  >  teks badan

java-ee - Java this关键字疑问

public abstract class Demo{
    public Demo(){
        this.print();
    }

    public abstract void print();
}

public class NewDemo extends Demo{
    public NewDemo (){
        this.print();
    }

    @Override
    public void print() {
        System.out.println("NewDemo");
    }
}

public class  Test{
     public static void main(String args[]){
        NewDemo  a =new NewDemo ();
     }
}

Java中this关键字不是指向当前对象。为啥在Demo构造器中能调用子类的print()方法?
抽象类的中的this指向谁?

PHPzPHPz2711 hari yang lalu427

membalas semua(5)saya akan balas

  • 天蓬老师

    天蓬老师2017-04-18 10:34:07

    Kata kunci ini dalam Java tidak menghala ke objek semasa?

    Ya.

    Walau bagaimanapun, anda perlu membuat instantiat untuk mendapatkan objek. Dan anda tidak boleh membuat instantiate kelas abstrak, hanya subkelas bukan abstraknya. Contohnya, dalam kod anda:

    NewDemo a =new NewDemo ();

    Pada masa ini, ini menunjuk ke objek a.
    Ini dalam kelas Demo merujuk kepada rujukan objek yang diperoleh dengan membuat instantiat.
    Adalah disyorkan bahawa subjek memahami konsep asas Java terlebih dahulu.

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 10:34:07

    Bukankah ini menunjuk kepada objek apabila dibuat seketika? Selain itu, bukankah NewDemo dipanggil dalam Ujian anda? Demo ialah kelas abstrak yang tidak menyediakan panggilan, bukan?

    balas
    0
  • 怪我咯

    怪我咯2017-04-18 10:34:07

    this merujuk kepada objek semasa Tidak syak lagi bahawa Demo dalam kelas this sebenarnya adalah objek contoh 继承Demo的普通类, kerana kelas abstrak tidak boleh digunakan, dan ini 继承Demo的普通类 mesti. dilaksanakan kaedah print, jadi anda boleh memanggil kaedah print. Subjek boleh mempelajari lebih lanjut tentang konsep polimorfisme dan warisan, dan menikmatinya dengan teliti.

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 10:34:07

    Anda boleh mengeluarkan kod bait untuk melihat yang mana satu dinamik dan yang mana satu statik.

    balas
    0
  • 黄舟

    黄舟2017-04-18 10:34:07

    Ini mewakili objek semasa. Jika anda tidak menyukai ini, anda boleh mengalih keluar ini

    balas
    0
  • Batalbalas