匿名内部类
来源:互联网 发布:域名批量搜索 编辑:程序博客网 时间:2024/06/07 03:50
/*
匿名内部类:没有类名的类就称作为匿名内部类
匿名内部类的好处:简化书写
匿名内部类的使用前提:必须存在继承或者实现的关系才能使用
匿名内部类一般用于实参
*/
//继承关系下的匿名内部类
abstract class Animal1{
public abstract void run();
public abstract void sleep();
}
class Outer2{
public void print(){
//在方法内部定义一个类继承Animal类,并且调用run方法和sleep方法
//局部内部类
/*class Dog extends Animal{
public Dog(String name) {
super(name);
}
public void run(){
System.out.println("狗在跑...");
}
public void sleep(){
System.out.println("狗睁大眼睛在睡觉...");
}
}
Dog d = new Dog("豆豆");
d.run();
d.sleep();*/
new Animal1(){//创建一个Animal1的子类对象,只是改子类没有类名,所以继承了父类的名字
@Override
public void run() {
// TODO Auto-generated method stub
}
@Override
public void sleep() {
// TODO Auto-generated method stub
}};
}
}
public class Demo6 {
public static void main(String[] args) {
Outer2 outer = new Outer2();
outer.print();
}
}
匿名内部类:没有类名的类就称作为匿名内部类
匿名内部类的好处:简化书写
匿名内部类的使用前提:必须存在继承或者实现的关系才能使用
匿名内部类一般用于实参
*/
//继承关系下的匿名内部类
abstract class Animal1{
public abstract void run();
public abstract void sleep();
}
class Outer2{
public void print(){
//在方法内部定义一个类继承Animal类,并且调用run方法和sleep方法
//局部内部类
/*class Dog extends Animal{
public Dog(String name) {
super(name);
}
public void run(){
System.out.println("狗在跑...");
}
public void sleep(){
System.out.println("狗睁大眼睛在睡觉...");
}
}
Dog d = new Dog("豆豆");
d.run();
d.sleep();*/
new Animal1(){//创建一个Animal1的子类对象,只是改子类没有类名,所以继承了父类的名字
@Override
public void run() {
// TODO Auto-generated method stub
}
@Override
public void sleep() {
// TODO Auto-generated method stub
}};
}
}
public class Demo6 {
public static void main(String[] args) {
Outer2 outer = new Outer2();
outer.print();
}
}
//接口关系下的匿名内部类
//实现关系下的匿名内部类
interface Dao2{
public void add();
}
class Outer3{
public void print(){
//创建一个匿名内部类的对象
new Dao2(){//这里不是创建接口的对象,而是创建接口实现类的对象。
@Override
public void add() {
System.out.println("添加成功...");
}
}.add();
}
}
public class Demo7 {
public static void main(String[] args) {
test(new Dao2(){//匿名内部类用作实参
@Override
public void add() {
System.out.println("添加员工成功...");
}
});
}
public static void test(Dao2 d){//形参类型是一个接口引用
d.add();
}
}
阅读全文
1 0
- 内部类、匿名内部类
- 内部类、匿名内部类
- 内部类,匿名内部类
- 内部类(匿名内部类)
- 内部类 ---匿名内部类
- 内部类,匿名内部类
- 匿名类、内部类、匿名内部类
- 匿名类、内部类、匿名内部类
- 匿名类、内部类、匿名内部类
- 匿名类,内部类,匿名内部类
- 匿名内部类,回调...
- 关于匿名内部类
- 匿名内部类
- JAVA匿名内部类
- 返回匿名内部类
- java 匿名内部类
- 匿名类内部类
- JAVA匿名内部类
- python画图常规设置
- 文章标题
- android GridView选中效果
- 解决:Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object
- 代码在线练习平台
- 匿名内部类
- 公共css文件初始化
- 文件操作工具类---FileUtil
- MPICH 中读取文件的问题
- ABAQUS FLEXlm Error: -15, 10. System Error: 10061"WinSock: Connection refused的问题解决
- 哈哈哈
- Centos加载动态链接库
- PHP短网址
- android stdio内存泄露分析工具使用