---
# System prepended metadata

title: 9/7 K速記

---

# 9/7 K速記

* 抽象類別 abstract
```java=
abstract class shape{//

public abstract double ares(); //抽象方法 不須實作 用來被override
}
```
* 	抽象類別 功能與多形類似 無法單獨new出來
	1. 當抽象類別 被繼承時，才會被建立，
	2. 抽象方法 仍可以被建立 並存入子類別，
	3. 抽象方法 只能在抽象類別存在。
	4. 最後必須要有實際的類別 實現所有未實現方法，

## ***介面***   
>極為重要!!

* 介面 
	* 只能有 <**未被實現的方法**> 及 常數
	* 可做為 多重繼承的可能性
```java=
public interface shape{
	
}
```

```java=
public class Ractangl extends Shaep implements test,test2{

	@override
	public void test(){//在test 及 test2都有test()方法 但都為抽象方法
	//...
	}
}
```

```java=
public static void main(String[] args){
	Rectangle r = new Rectangle();
	Shape s = r; //取出Shape部分存入
	Test t = r; //取出Test部分存入
}
```
Interface內 皆為 抽象方法 可不需特別標註 abstract

如排列組合 可將介面拉出 比較器
在排列組合內部的比較 帶入比較器回傳true/false ，即可在比較器函式設定的狀況下進行交換。



