您的位置:首页 > 编程语言 > Java开发

java:匿名内部类

2017-12-29 16:14 253 查看
匿名内部类经常与接口搭配使用,即没有名字的内部类,更多关注实现,而不关注类名。

其实是为了让程序员偷懒,不需要重新再建新文件而出现的一种方法。。。

匿名内部类有2种实现接口的方法:

package telhone;

public class telihone implements Ipalygame { // 普通类继承接口Ipalygame
public void call() {
} // abstract修饰符

public void Message() {
} // abstract修饰符

@Override
public void game() {
// TODO Auto-generated method stub
System.out.println("手机有了玩游戏的功能");
}

}

package telhone;

public abstract interface Ipalygame { // 接口,属于抽象类

public abstract void game(); // 抽象方法

}

package telhone;

public class run {

public static void main(String[] args) {
// TODO Auto-generated method stub
Ipalygame tel1 = new SmartPhone(); // 引用接口创建 SmartPhone类 的对象tel1
tel1.game(); // tel1,调用SmartPhone()中的game方法。
Ipalygame tel2 = new Psp(); // 引用接口Ipalygame创建 SmartPhone类 的对象tel2
tel2.game(); // tel1,调用Psp()中的game方法。
Ipalygame tel3 = new Ipalygame() {		//第一种方法引用接口new一个接口类,在接口类中实现抽象方法,再使用接口类调用方法。
@Override
public void game() {
// TODO Auto-generated method stub
System.out.println("匿名内部类1");
}
};
tel3.game();

new Ipalygame() {		//第二种方法直接new一个接口类,在接口类中实现抽象方法,然后直接.调用方法。
@Override

public void game() {
// TODO Auto-generated method stub
System.out.println("匿名内部类");
}
}.game();
}

}


package telhone;

public class Psp implements Ipalygame {

@Override
public void game() {
// TODO Auto-generated method stub
System.out.println("PSP有了玩游戏的功能");
}

}


运行结果:

智能手机有了玩游戏的功能
PSP有了玩游戏的功能
匿名内部类1
匿名内部类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: