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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

abstract类_012、Java的抽象方法、接口和String类

發布時間:2024/10/8 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 abstract类_012、Java的抽象方法、接口和String类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 抽象方法和抽象類

·抽象方法

使用abstract修飾的方法,沒有方法體,只有聲明。定義的是一種“規范”,就是告訴子類必須要給抽象方法提供具體的實現。

·抽象類

包含抽象方法的類就是抽象類。通過abstract方法定義規范,然后要求子類必須定義具體實現。通過抽象類,我們就可以做到嚴格限制子類的設計,使子類之間更加通用。

抽象類和抽象方法的基本用法

抽象類的使用要點:

1. 有抽象方法的類只能定義成抽象類

2. 抽象類不能實例化,即不能用new來實例化抽象類。

3. 抽象類可以包含屬性、方法、構造方法。但是構造方法不能用來new實例,只能用來被子類調用。

4. 抽象類只能用來被繼承。

5. 抽象方法必須被子類實現。

2.接口的詳解

接口的本質

接口本質就是一種契約(規范),它被抽象類更加抽象,接口中所有的方法都是抽象方法(沒有方法體,所有的變量都是常量)。

接口的定義

public interface 接口名稱 extends 父接口1,父接口2...{

//成員變量(常量)--->默認使用public static final修飾的

//方法(抽象方法)--->默認使用public abstract修飾的

}

接口和抽象類的區別

1.抽象類可以包含普通方法,構造方法和非常量的成員變量,而接口中所有的方法都是抽象方法,不能有構造方法,其成員變量為常量。

2.接口中方法默認使用public abstract修飾,成員變量默認使用public static final修飾

3.抽象類不能多繼承,而接口可以

運行效果

定義接口的詳細說明:

1. 訪問修飾符:只能是public或默認。

2. 接口名:和類名采用相同命名機制。

3. extends:接口可以多繼承。

4. 常量:接口中的屬性只能是常量,總是:public static final 修飾。不寫也是。

5. 方法:接口中的方法只能是:public abstract。 省略的話,也是public abstract。

要點

1. 子類通過implements來實現接口中的規范。

2. 接口不能創建實例,但是可用于聲明引用變量類型。

3. 一個類實現了接口,必須實現接口中所有的方法,并且這些方法只能是public的。

4. JDK1.7之前,接口中只能包含靜態常量、抽象方法,不能有普通屬性、構造方法、普通方法。

5. JDK1.8后,接口中包含普通的靜態方法。

接口的多繼承使用

接口完全支持多繼承。和類的繼承類似,子接口擴展某個父接口,將會獲得父接口中所定義的一切。

public

3.內部類

一般情況,我們把類定義成獨立的單元。有些情況下,我們把一個類放在另一個類的內部定義,稱為內部類(innerclasses)。

內部類可以使用public、default、protected 、private以及static修飾。而外部頂級類(我們以前接觸的類)只能使用public和default修飾。

內部類可以訪問外部類的成員變量,但外部類不能訪問內部的成員變量。

內部類的分類:

Java中內部類主要分為成員內部類(非靜態內部類、靜態內部類)、匿名內部類、局部內部類。

成員內部類(可以使用private、default、protected、public任意進行修飾。 類文件:外部類$內部類.class)

內部類介紹

非靜態內部類

1. 內部類里方法的局部變量:變量名。

2. 內部類屬性:this.變量名。

3. 外部類屬性:外部類名.this.變量名。

靜態內部類

靜態內部類的實例方法不能直接訪問外部類的實例方法。靜態內部類看做外部類的一個靜態成員。通過 new 靜態內部類()訪問靜態內部類的實例。

匿名類

語法:

new

注意

1. 匿名內部類沒有訪問修飾符。

2. 匿名內部類沒有構造方法。因為它連名字都沒有那又何來構造方法呢。

局部內部類

注意

內部類只是一個編譯時概念,一旦我們編譯成功,就會成為完全不同的兩個類。對于一個名為Outer的外部類和其內部定義的名為Inner的內部類。編譯完成后會出現Outer.class和Outer$Inner.class兩個類的字節碼文件。所以內部類是相對獨立的一種存在,其成員變量/方法名可以和外部類的相同。

內部類的作用:

1. 內部類提供了更好的封裝。只能讓外部類直接訪問,不允許同一個包中的其他類直接訪問。

2. 內部類可以直接訪問外部類的私有屬性,內部類被當成其外部類的成員。 但外部類不能訪問內部類的內部屬性。

3. 接口只是解決了多重繼承的部分問題,而內部類使得多重繼承的解決方案變得更加完整。

4.String類和常量池

1. String類又稱作不可變字符序列。

2. String位于java.lang包中,Java程序默認導入java.lang包下的所有類。

String類的常用方法

常量池

常量池分為三種:全局字符串常量池(String Pool)、class文件常量池(Class Constant Pool)、運行時常量池(Runtime Constant Pool)

String

5. 字符串相等的判斷

1. equals方法用來檢測兩個字符串內容是否相等。如果字符串s和t內容相等,則s.equals(t)返回true,否則返回false。

2. 要測試兩個字符串除了大小寫區別外是否是相等的,需要使用equalsIgnoreCase方法。

3. 判斷字符串是否相等不要使用"=="。

字符串的比較"=="與equals()方法

內存分析圖

總結

以上是生活随笔為你收集整理的abstract类_012、Java的抽象方法、接口和String类的全部內容,希望文章能夠幫你解決所遇到的問題。

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