第三次学JAVA再学不好就吃翔(part38)--抽象类与接口的区别
生活随笔
收集整理的這篇文章主要介紹了
第三次学JAVA再学不好就吃翔(part38)--抽象类与接口的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習筆記,僅供參考
文章目錄
- 面向對象
- 接口
- 類和接口的關系
- 抽象類與接口的區別
- 案例學習
面向對象
接口
類和接口的關系
- 類與類的關系
- 繼承關系,并且只能單繼承,不能多繼承,但是可以多層繼承
- 類與接口的關系
- 實現關系,可以單實現,也可以多實現
- 并且還可以在繼承一個類的同時實現多個接口
- 接口與接口的關系
- 繼承關系,可以單繼承也可以多繼承
- 舉個例子(接口與類)
- 舉個例子(接口與接口的關系)
抽象類與接口的區別
- 成員區別
- 抽象類
- 成員變量:可以是變量,也可以是常量
- 構造方法:有
- 成員方法:可以是抽象的,也可以是非抽象的
- 接口
- 成員變量:只能是常量
- 構造方法:無
- 成員方法:只能是抽象的
- 抽象類
- 關系區別
- 類與類
- 繼承,單繼承
- 類與接口
- 實現,單實現,多實現
- 接口與接口
- 繼承,單繼承,多繼承
- 類與類
- 設計理念區別
- 抽象類中定義的是該繼承體系的共性功能。
- 接口中定義的是該繼承體系的擴展功能。
案例學習
代碼:
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)--抽象类与接口的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 500 余家苹果授权专营店入驻饿了么,购
- 下一篇: 第三次学JAVA再学不好就吃翔(part