java抽象類 密封類,介面

2021-08-20 06:25:44 字數 2702 閱讀 1301

抽象類:主要是對類本身進行抽象, 對於乙個父類來說,如果其某個方法在父類之中實現出來沒有任何意義, 必須根據子類情況來進行不同的實現。那麼就可以將當前方法宣告為抽象方法,必須根據子類情況來進行不同的實現。那麼就可以將當前方法宣告為抽象方法,抽象方法的類稱為抽象類。

定義乙個抽象類:

abstract class animal

}

抽象類的使用:

抽象類的使用原則如下:

(1)抽象方法必須為public或者protected(因為如果為private,則不能被子類繼承,子類便無法實現該方法),預設情況下預設為public;

(2)抽象類不能直接例項化,需要依靠子類採用向上轉型的方式處理;

(3)抽象類必須有子類,使用extends繼承,乙個子類只能繼承乙個抽象類;

(4)子類(如果不是抽象類)則必須覆寫抽象類之中的全部抽象方法(如果子類沒有實現父類的抽象方法,則必須將子類也定義為為abstract類。);

class dog extends animal

}//如果乙個抽象類 繼承了乙個抽象類 那麼可以不實現基類的抽象方法

abstract class cat extends animal

//如果乙個類 再次繼承了這個抽象類 必須進行實現

class littlecat extends cat

}

class base

public void fun2()

}

介面:主要是對行為進行抽象

介面和抽象類的區別:

//介面a

inte***ce a

//介面b

inte***ce b

//類c實現介面a和b(可以實現多個介面)

class c implements a,b

public void fun2()

}

介面和介面之間可以繼承

//介面的繼承

inte***ce mobike

inte***ce ofo

abstract class bick

class flyingdove extends bick implements mobike,ofo

public void scan()

public void fun1()

cloneable

cloneable介面主要是為了類的轉殖。

class money implements cloneable

}/*public inte***ce cloneable

*///cloneable 空介面 標誌介面

//作用:標誌位 標記這個類可以進行clone 如果不實現 jvm無法識別

class person implements cloneable

@override

protected object clone() throws clonenotsupportedexception

}public class test16

}

此時只轉殖了person物件,並沒有轉殖money物件。改變p1.m.money的值p2.m.money也會隨之改變。

在money類裡重寫clone方法:

class money implements cloneable  

}

這樣改變改變p1.m.money的值p2.m.money就不會改變。

comparable(類內部比較器)

實現了comparable介面的類可以和自己比較,依賴compareto方法實現比較。compareto方法的返回值是int,有三種情況:

1、比較者大於被比較者,那麼返回正整數(compareto裡原本的)

2、比較者等於被比較者,那麼返回0

3、比較者小於被比較者,那麼返回負整數

class person2 implements comparable

public string getname()

public void setname(string name)

public int getage()

public void setage(int age)

public double getscore()

public void setscore(double score)

@override

public string tostring()

public int compareto(person2 o) }

public static void main(string args)

comparator(類外部比較器)

comparator介面裡面有乙個compare方法,方法有兩個引數t o1和t o2,是泛型的表示方式,分別表示待比較的兩個物件,方法返回值和comparable介面一樣是int,有三種情況:

1、o1大於o2,返回正整數

2、o1等於o2,返回0

3、o1小於o3,返回負整數

抽象類和密封類

基本概念 包含抽象方法的類叫做抽象類。抽象方法被abstract修飾,類也要由abstract修飾。抽象類中可以有抽象方法,也可以有非抽象方法。抽象類不能建立例項物件 不能new抽象類。抽象類中可以沒有抽象方法,但是抽象方法一定在抽象類中。因為抽象類不能被例項化,抽象方法不能被實現。抽象類和普通類的...

Java 抽象類 介面

抽象類注重其是什麼以及其本質 介面注重具有什麼樣的功能以及充當什麼角色 抽象類使用abstract關鍵字來宣告,介面使用inte ce關鍵字來宣告 抽象類和介面都不能例項化,不能通過new來建立物件 抽象類的成員變數沒有任何限制 介面中的成員變數都是public static final 抽象類的方...

java抽象類,介面

1 abstract不能與final並列修飾同乙個類。final表示該類不能被繼承,abstract表示該類需要被實現,有矛盾。final和abstract這兩個關鍵字是反相關的 2 abstract 不能與private static final或native並列修飾同乙個方法。被private修...