码迷,mamicode.com
首页 > 其他好文 > 详细

匿名内部类。。。。。

时间:2018-05-04 21:27:45      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:static   anim   继承   dog   generate   是什么   class   cat   ...   

 

public class Demo01 {

public static void main(String[] args) {
// TODO Auto-generated method stub
/* 匿名内部类:就是内部类的简化写法。
前提:存在一个类或者接口
这里的类可以是具体类也可以是抽象类。
格式:
new 类名或者接口名(){ 重写方法; }
本质是什么呢?
是一个继承了该类或者实现了该接口的子类匿名对象。*/

/*Cat cat = new Cat();
cat.eat();*/

//1.匿名内部类:实现抽象类的类
//抽象类指向匿名内部类对象
Animal dog = new Animal(){
@Override
public void eat() {
// TODO Auto-generated method stub
System.out.println("狗吃肉。。。");
}

@Override
public void sleep() {
// TODO Auto-generated method stub
System.out.println("趴着睡...");
}
};

dog.eat();
dog.sleep();

SpiderMan sMan = new SpiderMan();
sMan.eat();

//接口不能new
//匿名内部类:实现接口
//接口指向匿名内部类对象
Man hipHopMan = new Man(){
@Override
public void eat() {
// TODO Auto-generated method stub
System.out.println("hipHopMan 吃鸡腿...");
}

@Override
public void sleep() {
// TODO Auto-generated method stub
System.out.println("侧着睡。。。");
}
};
hipHopMan.eat();
hipHopMan.sleep();


}

}


interface Man{
public void eat();
public void sleep();
}

class SpiderMan implements Man{

@Override
public void eat() {
// TODO Auto-generated method stub
System.out.println("Spider Man 吃钢铁...");
}

@Override
public void sleep() {
// TODO Auto-generated method stub

}

}

abstract class Animal{

public abstract void eat();
public abstract void sleep();

}

class Cat extends Animal{

@Override
public void eat() {
// TODO Auto-generated method stub
System.out.println("猫吃鱼...");
}

@Override
public void sleep() {
// TODO Auto-generated method stub

}

}

匿名内部类。。。。。

标签:static   anim   继承   dog   generate   是什么   class   cat   ...   

原文地址:https://www.cnblogs.com/sun-shine1229/p/8992356.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!