日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第三次学JAVA再学不好就吃翔(part38)--抽象类与接口的区别

發布時間:2023/12/19 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第三次学JAVA再学不好就吃翔(part38)--抽象类与接口的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習筆記,僅供參考


文章目錄

    • 面向對象
      • 接口
        • 類和接口的關系
        • 抽象類與接口的區別
        • 案例學習


面向對象


接口


類和接口的關系


  • 類與類的關系
    • 繼承關系,并且只能單繼承,不能多繼承,但是可以多層繼承
  • 類與接口的關系
    • 實現關系,可以單實現,也可以多實現
    • 并且還可以在繼承一個類的同時實現多個接口
  • 接口與接口的關系
    • 繼承關系,可以單繼承也可以多繼承

  • 舉個例子(接口與類)
class InterfaceTest2 {public static void main(String[] args) {} }interface InterA {public abstract void printA(); } interface InterB {public abstract void printB(); }class Demo implements InterA, InterB {public void printA() {System.out.println("printA");}public void printB() {System.out.println("printB");} }
  • 舉個例子(接口與接口的關系)
class InterfaceTest2 {public static void main(String[] args) {} }interface InterA {public abstract void printA(); } interface InterB {public abstract void printB(); }interface InterC extends InterA, InterB {}

抽象類與接口的區別


  • 成員區別
    • 抽象類
      • 成員變量:可以是變量,也可以是常量
      • 構造方法:有
      • 成員方法:可以是抽象的,也可以是非抽象的
    • 接口
      • 成員變量:只能是常量
      • 構造方法:無
      • 成員方法:只能是抽象的
  • 關系區別
    • 類與類
      • 繼承,單繼承
    • 類與接口
      • 實現,單實現,多實現
    • 接口與接口
      • 繼承,單繼承,多繼承
  • 設計理念區別
    • 抽象類中定義的是該繼承體系的共性功能
    • 接口中定義的是該繼承體系的擴展功能

案例學習


代碼:

class InterfaceTest2 {public static void main(String[] args) {Bunny b = new Bunny();b.setAge(10);System.out.println(b.getName() + "已經" + b.getAge() + "個月啦");b.eat();b.sleep();JumpBunny jb = new JumpBunny("Bai", 11);jb.jump();} }abstract class Animal {private String name;private int age;public Animal(String name, int age) {this.name = name;this.age = age;}public void setName(String name) {this.name = name;}public String getName() {return name;}public void setAge(int age) {this.age = age;}public int getAge() {return age;}public abstract void eat();public abstract void sleep();}interface Jumping {public abstract void jump(); }class Bunny extends Animal {public Bunny() {this("Huang", 9);}public Bunny(String name, int age) {super(name, age);}public void eat() {System.out.println("兔子吃提草");}public void sleep() {System.out.println("兔子睡覺");}}class JumpBunny extends Bunny implements Jumping {public JumpBunny() {this("Huang", 9);}public JumpBunny(String name, int age) {super(name, age);}public void jump() {System.out.println("兔子跳");} }

輸出:

Huang已經10個月啦 兔子吃提草 兔子睡覺 兔子跳

總結

以上是生活随笔為你收集整理的第三次学JAVA再学不好就吃翔(part38)--抽象类与接口的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。