日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Java 抽象类、接口

發(fā)布時間:2024/7/5 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 抽象类、接口 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • abstract class

抽象類定義規(guī)則如下:

(1) 抽象類和抽象方法都必須用 abstract 關(guān)鍵字來修飾。
(2) 抽象類不能被直接實(shí)例化,也就是不能用new關(guān)鍵字去產(chǎn)生對象。
(3) 抽象方法只需聲明,而不需實(shí)現(xiàn)
(4) 含有抽象方法的類必須被聲明為抽象類,抽象類的子類必須覆寫所有的抽象方法才能被實(shí)例化,否則這個子類還是抽象的

abstract class Person2 { // 抽象類String name;int age;String occupation;public abstract void talk();public Person2(String name, int age, String occupation){this.name = name;this.age = age;this.occupation = occupation;} }class Student1 extends Person2 {public Student1(String name, int age, String occupation){// 必須明確調(diào)用 抽象類的構(gòu)造方法super(name, age, occupation);}// 要實(shí)例化, 必須 覆寫 抽象方法 talkpublic void talk(){System.out.println("覆寫talk()");} }class test2{public static void main(String[] args){Student1 s = new Student1("Ming", 18, "student");s.talk();} }
  • interface 接口
    數(shù)據(jù)成員全部是常量 final 初始化
    所有方法全部是 abstract 抽象的,沒有一般方法

Java 沒有多重繼承,但是可以使用 接口 來實(shí)現(xiàn) 多繼承
class 類名 implements 接口A, 接口B

接口 可以繼承于 多個 接口
interface 接口C extends 接口A, 接口B

// 接口 // 數(shù)據(jù)成員全部是常量 final 初始化 // 所有方法全部是 abstract interface Person3 {final String name = "Michael"; // 必須初始化,final 可省略int age = 18;String occupation = "工程師";public abstract void talk1(); // abstract 可省略 } interface Worker1{String tool = "hammer"; }// 類可以實(shí)現(xiàn)多個接口 class Student2 implements Person3, Worker1 {// 要實(shí)例化,必須覆寫 talkpublic void talk1(){System.out.println("name: " + this.name + ", age: " + this.age+ ", occupation: " + this.occupation+ ", tool: " + this.tool);} }// 接口可以繼承于多個接口 (類的繼承只能繼承1個父類) interface AnotherInterface extends Person3, Worker1 {String state = "person3+worker1";public void talk2();//抽象方法 }class Student3 implements AnotherInterface{// Student3 要實(shí)現(xiàn) Person3, Worker1, AnotherInterface 3個接口public void talk1(){System.out.println("每個抽象方法要覆寫,talk1()");}public void talk2(){System.out.println("每個抽象方法要覆寫,talk2()");} } class test3 {public static void main(String[] args){Student2 s2 = new Student2();s2.talk1();Student3 s3 = new Student3();s3.talk1();s3.talk2();} }

輸出:

name: Michael, age: 18, occupation: 工程師, tool: hammer 每個抽象方法要覆寫,talk1() 每個抽象方法要覆寫,talk2()

總結(jié)

以上是生活随笔為你收集整理的Java 抽象类、接口的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。