成免费的crm,久久国产精品新农夫导航新妓网,恋夜秀场全部视频安卓手机,女校花强奷在线播放A级

Java 抽象類

java 抽象類

如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類稱為抽象類。抽象類無法進行范例化,不能直接使用 new 關鍵字調用其構造器生成該類的對象。

在 java 語言中由 abstract 修飾的類叫抽象類,由 abstract 修飾的方法叫抽象方法。

 

1. java 抽象類的定義語法

abstract class 類名
{
abstract int 方法名();
}

抽象方法沒有方法體,也就是方法后面是沒有大括號及其包含的代碼。在抽象類中既可以有抽象方法,也可以有普通方法。

凡是繼承這個抽象類的實體子類,都必須要實現所有的抽象方法。

 

2. java 抽象類的特點

  • (1)抽象類不能被范例化。
  • (2)構造方法 和 static 方法不能抽象。
  • (3)父類的抽象方法需要在子類中實現。
  • (4)抽象類可以具有指向子類對象的對象引用。
    • 3. java 抽象類的范例

      1)定義抽象類:employee

      /**
       * 員工類
       */
      public abstract class employee {
          protected string name;
          protected boolean gender;
          public employee(string name, boolean gender){
              this.name=name;
              this.gender=gender;
          }
          /**
          * 領工資操作
          */
          public abstract void getsalary();
      
          public void getname(){
              system.out.println("我是" + name);
          }
      }
      

      2)繼承抽象類:manager

      新建一個經理類 manager,繼承抽象類 employee。我們必須要重寫抽象方法 getsalary。

      /**
       * 經理類
       */
      public class manager extends employee{
          public manager(string name,boolean gender){
              super(name,gender);
          }
      
          //重寫父類的抽象方法
          public void getsalary(){
              system.out.println("經理領9000元工資");
          }
      }
      

      3)繼承抽象類:accountant

      新建一個會計類 accountant,繼承抽象類 employee。我們必須要重寫抽象方法 getsalary。

      /**
       * 會計類
       */
      public class accountant extends employee{
          public accountant(string name,boolean gender){
              super(name,gender);
          }
      
          //重寫父類的抽象方法
          public void getsalary(){
              system.out.println("會計領7000元工資");
          }
      }
      

      4)抽象類測試

      public class abstracttest {
          public static void main(string[] args) {
              manager manager = new manager("張經理", true);
              manager.getname();
              manager.getsalary();
      
              accountant accountant = new accountant("李會計", false);
              accountant.getname();
              accountant.getsalary();
          }
      }
      

      運行執行結果:

      $ javac abstracttest.java
      $ java abstracttest
      
      我是張經理
      經理領9000元工資
      我是李會計
      會計領7000元工資
      

下一節:java 多態

java語言 教程

相關文章