匿名內(nèi)部類 ;顧名思義,匿名內(nèi)部類是沒有名字的類,并且適用于只想創(chuàng)建一個(gè) 子類對象
優(yōu)點(diǎn):
書寫格式簡單
弊端:
只能用一次
如果想創(chuàng)建多個(gè)子類對象,創(chuàng)建普通子類或者是實(shí)現(xiàn)類的方式
使用格式:
父類 (接口) 對象名 = new 父類(接口)
{
//重寫 父類方法(無論抽象與否)
}
即使匿名內(nèi)部類 也是匿名對象
new 父類 (接口)
{
//重寫父類方法(無論抽象與否)
}
package com.qf.demo2;
public class Test {
public static void main(String[] args) {
Person person = new Person();
person.run();
//自己沒有重新起名字
//但是沒有名字,語法報(bào)錯(cuò)
//讓run幫助代替 實(shí)現(xiàn)類的名字
Run run = new Run() //真正new 的是 實(shí)現(xiàn)類的對象
{ //實(shí)現(xiàn)類 沒有實(shí)現(xiàn)類的名字
@Override
public void run() {
System.out.println("動(dòng)物跑步");;
}
};
run.run();
//另一種寫法
new Run()
{
public void run()
{
System.out.println("小貓跑步");
}
}.run();
}
}
interface Run
{
public void run();
}
class Person implements Run{
@Override
public void run() {
System.out.println("人跑步");
}
}