Rumah > Java > javaTutorial > Mengapa antara muka tidak mempunyai pembina di Jawa, tetapi kelas abstrak mempunyai pembina?

Mengapa antara muka tidak mempunyai pembina di Jawa, tetapi kelas abstrak mempunyai pembina?

PHPz
Lepaskan: 2023-09-13 18:09:03
ke hadapan
1591 orang telah melayarinya

Mengapa antara muka tidak mempunyai pembina di Jawa, tetapi kelas abstrak mempunyai pembina?

Constructor digunakan untuk memulakan ahli bukan statik kelas tertentu berbanding objek.

Pembina dalam antara muka

  • Antaramuka di Java tidak mempunyai Constructor ahli #🎜 dalam antara muka ialah akhir statik awam secara lalai, ia adalah pemalar (diberikan pada masa pengisytiharan).
  • Tiada ahli data dalam antara muka yang boleh dimulakan melalui pembina.
  • Untuk memanggil kaedah, kita memerlukan objek Kerana kaedah dalam antara muka tidak mempunyai badan, tidak perlu memanggil kaedah dalam antara muka.
  • Oleh kerana kita tidak boleh memanggil kaedah dalam antara muka, tidak perlu mencipta objek untuk antara muka dan tidak perlu memasukkan pembina di dalamnya.
Contoh 1

interface Addition {
   int add(int i, int j);
}
public class Test implements Addition {
   public int add(int i, int j) {
      int k = i+j;
      return k;
   }
   public static void main(String args[]) {
      Test t = new Test();
      System.out.println("k value is:" + t.add(10,20));
   }
}
Salin selepas log masuk

Output

k value is:30
Salin selepas log masuk

Pembina dalam kelas ##🎜🎜🎜🎜🎜🎜🎜🎜 daripada

pembina

dalam kelas
    adalah untuk memulakan medan, tetapi bukan untuk membina objek.
  • Apabila kita cuba mencipta contoh baharu kelas super abstrak, pengkompil memberikan ralat. Walau bagaimanapun, kita boleh mewarisi kelas abstrak dan menggunakan pembinanya untuk mengawalnya dengan menetapkan pembolehubahnya.
  • Contoh 2
  • abstract class Employee {
       public String empName;
       abstract double calcSalary();
       Employee(String name) {
          this.empName = name; // Constructor of abstract class  
       }
    }
    class Manager extends Employee {
       Manager(String name) {
          super(name); // setting the name in the constructor of subclass
       }
       double calcSalary() {
          return 50000;
       }
    }
    public class Test {
       public static void main(String args[]) {
          Employee e = new Manager("Adithya");
          System.out.println("Manager Name is:" + e.empName);
          System.out.println("Salary is:" + e.calcSalary());
       }
    }
    Salin selepas log masuk
  • Output
  • Manager Name is:Adithya
    Salary is:50000.0
    Salin selepas log masuk

    Atas ialah kandungan terperinci Mengapa antara muka tidak mempunyai pembina di Jawa, tetapi kelas abstrak mempunyai pembina?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan