導讀
適配器模式,也是Java二十三中設計模式之一。讓其他的對象可以適應規範,其實這樣說是不是覺得很迷糊啊?
我們把適配器模式當做我們家電用的插座,對,就是這樣來想就很容易學習和應用了。
內部類:日常開發中用的很少,但它卻很重要。
遞歸算法:方法調用自身的操作,但必須要有一個出口,因爲避免進入死循環。
鏈表:擁有一個pre節點和next節點,element是代表即將存儲或者刪除的對象。
包裝類:就是JDK7.0以上的版本,提供對原生數據的對象化包裝。
Eclipse工具的常用設置。對於一般地開發人員,是必須要設置的,因爲可以提高開發效率和團隊規範化!
一、適配器模式設計代碼
public interface Target {
/**
* 這是源類Adaptee也有的方法
*/
public void sampleOperation1();
/**
* 這是源類Adapteee沒有的方法
*/
public void sampleOperation2();
}
public class Adaptee {
public void sampleOperation1(){}
}
public class Adapter extends Adaptee implements Target {
/**
* 由於源類Adaptee沒有方法sampleOperation2()
* 因此適配器補充上這個方法
*/
@Override
public void sampleOperation2() {
//寫相關的代碼
}
}
1. 成員內部類
public static void main(String[] args) {
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
inner.print("Outer.new");
inner = outer.getInner();
inner.print("Outer.get");
}
// 個人推薦使用getxxx()來獲取成員內部類,尤其是該內部類的構造函數無參數時
public Inner getInner() {
return new Inner();
}
public class Inner {
public void print(String str) {
System.out.println(str);
}
}
}
2. 局部內部類:局部內部類,是指內部類定義在方法和作用域內。
public Destination destination(String s) {
class PDestination implements Destination {
private String label;
private PDestination(String whereTo) {
label = whereTo;
}
public String readLabel() {
return label;
}
}
return new PDestination(s);
}
public static void main(String[] args) {
Parcel4 p = new Parcel4();
Destination d = p.destination("Tasmania");
}
}
@Override
public void onClick(View v) {
new Thread() {
@Override
public void run() {
// TODO Auto-generated method stub
}
}.start();
}
});
/**
* time:2012.12.2
* author:王金宇
* description:用遞歸實現斐波那契數列,但是此方法是嫉妒危險的,適用於求解比較小的位置數值
*/
public static void main(String[] args) {
Fibonacci fibonacci=new Fibonacci();
int result=fibonacci.fib(5);
System.out.println(result);
}
public int fib(int index){
if(index==1||index==2){
return 1;
}else{
return fib(index-1)+fib(index-2);
}
}
}
執行結果示意圖——
Java包裝類技術——
int是原生類型,與之對應的是Integer類。
對,一個是數值,一個是對象,顯然是不同的兩種數據類型。
怎麼判斷呢?其實更簡單,對象有屬性和方法,而原生的沒有,因爲原生就本身的意思。直接拿來用就ok了,測試一下就知道了。
代碼如下:
int num = 100;
Integer integer = new Integer(num);
這樣做的目的,除了可以互相轉換之外,還可以增強面向對象對原生數據類型更加優秀的編程方式——
Java中有8種基本數據類型,與之對應的就有八種包裝類,一般地說,包裝類更方便用於集合或者框架技術配置。
關於如何設置Eclipse開發環境,我這裏有一篇博客值得一看。
我們都是學習技術的,分享是我們最大的樂趣,別人怎麼想我不曉得,反正寧叔覺得都是中國的IT技術人員;
我們必須要努力,突破技術點,比國外的技術員都要厲害。哈哈~