匿名類:
1. 定義方法: new ClassNameorInrefaceName?() {...}
2. 類名前不能有修飾符。
3. 類中不能有構造方法,因為它沒有名字。在構造對象是使用父類的構造方法。如果實現接口,則接口后面的圓括號不能帶參數。
class?TestInnerAnonymous


{
??public?static?void?main(String[]?args)

??
{
?????Object?obj?=?new?Outer().makeTheInner(47);
?????System.out.println("Hello?World"?+?obj.toString());
??}
}

class?Outer


{
??private?int?size?=?5;
??public?Object?makeTheInner(int?localVar)

??
{
????final?int?fianlLocalVar?=?99;
????return?new?Object()

????????????????
{
???????????????????public?String?toString()

?????????????????????
{
?????????????????????????return?("InnerSize"?+?size?+?"finalLocalVar:"?+?finalLocalVar);
?????????????????????}
????????????????};
??}
}如果要使用構造函數的話
????????????????? {...}
注意:匿名類屬于方法內嵌類,不可以使用父類的成員
抽象類與接口的區別:
抽象類可以有非抽象的方法,有構造函數。
抽象類是它所有子類的公共屬性的集合,抽象類不能被實例化,它的構造函數是提供給它的子類調用的。
被abstract所修飾的方法叫抽象方法,格式如下
abstract returnType abstractMethod([paramlist]);
抽象類中可以包含抽象方法,也可以不包含abstract方法。但是,一旦某個類中包含了抽象方法,則這個類必須聲明為abstract類。即abstract方法必須位于abstract類中。
接口是方法和常量值得集合。
1. 定義方法: new ClassNameorInrefaceName?() {...}
2. 類名前不能有修飾符。
3. 類中不能有構造方法,因為它沒有名字。在構造對象是使用父類的構造方法。如果實現接口,則接口后面的圓括號不能帶參數。




































????????????????? {...}
注意:匿名類屬于方法內嵌類,不可以使用父類的成員
抽象類與接口的區別:
抽象類可以有非抽象的方法,有構造函數。
抽象類是它所有子類的公共屬性的集合,抽象類不能被實例化,它的構造函數是提供給它的子類調用的。
被abstract所修飾的方法叫抽象方法,格式如下
abstract returnType abstractMethod([paramlist]);
抽象類中可以包含抽象方法,也可以不包含abstract方法。但是,一旦某個類中包含了抽象方法,則這個類必須聲明為abstract類。即abstract方法必須位于abstract類中。
接口是方法和常量值得集合。