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




































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