修飾符內部類
區域性內部類
匿名內部類
其實就是資料夾
舉例:方案1:按功能分:
方案2:按模組分:
package 包名;多級分包用 . 分開
乙個檔案中,下列語句包含的數量:package:只能有乙個
import:可以有多個
class:可以有多個,但建議乙個
本類同乙個包下(子類和無關類)
不同包下(子類)
不同包下(無關類)
privatey預設
yyprotectedyy
ypublicyy
yy這四種許可權修飾符在任意時刻只能出現一種.
說明:y表示許可權修飾符修飾的變數或方法對其他類是可使用的,否則不可直接使用。
把類定義在其他類的內部,這個類被稱為內部類例子:舉例:在類a中定義了乙個類b,類b就是內部類
class outer
} public void method()
}
例子:
class outer
public void method() }
}
class body
} //外部類要提供使用內部類的方法
public void method()
}//呼叫
body b = new body();
b.method();
class outer }}
class innerclassdemo
}
class outer
public static void show2()
} }
class innerclassdemo
}
要求填空,使分別輸出30 ,20 ,10。
class outer }
}class innerclassdemo
}
答案:
① num
② this.num
③ new outer().num 或者 outer.this.num
注意:例子:1、內部類和外部類沒有繼承關係
2、通過外部類名限定this物件:outer.this
class outer
} inner i = new inner();
i.show(); }
}class innerclassdemo
}
匿名內部類是內部類的簡化寫法。本質是乙個繼承了父類或者實現了介面的子類匿名物件
存在乙個類或者介面這裡的類可以是抽象類或者具體類
new 類名或者介面名();
例子1:(介面只有乙個抽象方法的情況)
inte***ce inter
class outer
};//無列印任何結果
*/new inter()
}.show; //再呼叫show方法即可列印出資訊 }}
class outerdemo
}
例子2:(介面有兩個或多個抽象方法的情況)
inte***ce inter
class outer
public void method()
@override
public void show2()
};inter.show();
inter.show2(); }}
public class innerclassdemo
}
在開發過程中,會遇到抽象類或者介面作為引數的方法,此時需要的實際引數是乙個子類物件或者實現類物件。
如果該方法僅僅呼叫一次,則可以使用匿名內部類的格式簡化。
例子:(注意比較使用匿名物件和使用匿名內部類的區別)
inte***ce person
class persondemo
}class student implements person
}public class innerclasstest
});}}
使用匿名物件,需要先用介面的實現類重寫介面方法,然後利用多型例項化介面,可重複多次使用實現類建立物件。按照要求補齊**,要求在控制台輸出「helloworld」使用匿名內部類,只需直接建立匿名物件並直接重寫介面方法即可,只能使用一次。
inte***ce inter
class outer
class outerdemo
}
答案:
public static inter method()
};}
分析:
1、outer.method()可以看出method()應該是outer中的靜態方法
2、outer.method().show()可以看出method()方法的返回值是乙個物件。由於介面inter中有個show()方法,故認為method()方法的返回值型別是乙個介面。
Java物件導向(五)
類間關係 1.1 this與super 繼承關係圖 當子類建立物件後,該子類物件本身可以使用this來指代,該物件當助的父類物件空間可以使用super指代。public class person public person string name,int age getters和setters省略 ...
Java基礎之物件導向(五)
一 介面 inte ce 1 概念 指用inte ce關鍵字修飾的一種型別 介面型別。他用於描述一系列功能性的方法,並讓子類實現。2 內容 1 介面不能有屬性,只能有被static final修飾的屬性及靜態常量。2 介面只能有抽象方法,不能有具體的方法。3 介面沒有構造器,所以不能建立物件,只能通...
Java基礎 物件導向(五)多型
一 概述 物件的多型性 class 動物 class 貓 extends 動物 class 狗 extends 動物 class demo 貓這類食物既具備貓的形態,又具備動物的形態。這就是多型性。簡單說 就是乙個物件對應著不同型別 提高了 的擴充套件性,前期定義的 可以使用後期的內容。abstra...