Java通过接口实现匿名类的实例
package com.chase.test; /**
* 通过接口实现匿名类的实例
*
* @author Chase
*
* @date 2013-10-18 下午04:28:17
*
* @version V1.0
*/
interface I1 {
void print();
void eat();
} public class AnonymousClass { public static String excute(I1 c){
System.err.println("excute方法打印...");
c.print();
c.eat();
return "excute()返回的值...";
} public String testExcute() {
return excute(new I1(){
public void print() {
System.out.println("调用匿名内打印...");
} public void eat() {
System.out.println("今天的饭菜好好吃...");
}
}) ;
} public static void main(String[] args) {
AnonymousClass entity = new AnonymousClass();
System.out.println(entity.testExcute());
}
}
运行结果:
aaarticlea/png;base64,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" alt="" />
Java通过接口实现匿名类的实例的更多相关文章
- Java入门教程十(抽象类接口内部类匿名类)
抽象类(abstract) 一个类只定义了一个为所有子类共享的一般形式,至于细节则交给每一个子类去实现,这种类没有任何具体的实例,只具有一些抽象的概念,那么这样的类称为抽象类. 在面向对象领域,抽象类 ...
- Java——接口、匿名类
接口语法 public interface Demolnteface{ public void demo(): //其他方法 //所有方法都是抽象的 } 接口里放: 1.静态常量 (一般全部大写) 2 ...
- java语言中的匿名类与lambda表达式介绍与总结 (Anonymous Classes and Lambda Expressions)
2017/6/30 转载写明出处:http://www.cnblogs.com/daren-lin/p/anonymous-classes-and-lambda-expressions-in-java ...
- [改善Java代码]建议40:匿名类的构造函数很特殊
建议40: 匿名类的构造函数很特殊 在上一个建议中我们讲到匿名类虽然没有名字,但可以有一个初始化块来充当构造函数,那这个构造函数是否就和普通的构造函数完全一样呢?我们来看一个例子,设计一个计算器,进行 ...
- Java Observer接口和Observable类实现观察者模式
对于观察者模式,其实Java已经为我们提供了已有的接口和类.对于订阅者(Subscribe,观察者)Java为我们提供了一个接口,JDK源码如下: package java.util; public ...
- Java内部抽象类的匿名类初始化
说在前面的话,以前写过一次这个变态代码,后来重构,把那个new的语法简化了,最近又要整,差点都想不起来了,留个文档把 1.下面这个案例更变态,抽象类还有一个个泛型类:首先内部抽象类的定义: /* * ...
- 在java的静态方法中访问类的实例成员
直接来看代码: public class Example { int x = 3;//类的实例变量,初始化值为3 static int y = 4;//类的静态变量,初始化值为4 public sta ...
- java List接口中常用类
Vector:线程安全,但速度慢,已被ArrayList替代. ArrayList:线程不安全,查询速度快. LinkedList:链表结构,增删速度快.取出List集合中元素的方式: get(int ...
- java学习(三)类、实例
类 public class Dog{ String breed; int age; String color; void barking(){ } void hungry(){ } void sle ...
随机推荐
- springboot优雅关机
Spring boot 2.0 之优雅停机 rabbitGYK 关注 2018.05.20 18:41* 字数 1794 阅读 2638评论 0喜欢 22 spring boot 框架在生产环境使用 ...
- [bzoj2086][Poi2010]Blocks_单调栈_双指针
Blocks bzoj-2086 Poi-2010 题目大意:题目链接. 注释:略. 想法:首先,不难发现,如果连续的一段数的平均值不小于输入的k的话,这段数是满足题意的. 所以,我们再次简化一下:将 ...
- 学习webpack过程并上传到github
使用工具:sublimeText+node+git 1,一个包的文件结构,生成初始文件 在node 命令行窗口中创建demo_a文件夹 使用命令 npm init 初始化包,生成package.jso ...
- CF #329 D
D题,LCA是很明显的.要注意的是,因为是除法,所以最多可以除x>2的有64次,当大于64时可以直接返回0.而且注意到可能会有很多值为1的边,可以使用路径压缩,把边为1的边压缩掉,类似于并查集的 ...
- 设置ckeditor的高度
设置ckeditor的高度 CKEDITOR.replace('text', { filebrowserImageUploadUrl : 'upload_img.do', language : 'zh ...
- 一个基于cocos2d-x 3.0和Box2d的demo小程序
p图demo小应用.想怎么p就怎么p 本文參考于http://blog.csdn.net/xiaominghimi/article/details/6776096和http://www.cnblogs ...
- 逆波兰法求解数学表达示(C++)
主要是栈的应用,里面有两个函数deleteSpace(),stringToDouble()在我还有一篇博客其中:对string的一些扩展函数. 本程序仅仅是主要的功能实现,没有差错控制. #inclu ...
- Rust 中项目构建管理工具 Cargo简单介绍
cargo是Rust内置的项目管理工具.用于Rust 项目的创建.编译.执行,同一时候对项目的依赖进行管理,自己主动推断使用的第三方依赖库,进行下载和版本号升级. 一.查看 cargo 版本号 安装R ...
- js获取单独一个checkbox是否被选中
<script language=javascript> function check(){ var xz=document.getElementById("xz"); ...
- 【Linux】Linux下配置apache
一.获取软件: http://httpd.apache.org/ httpd-2.4.10.tar.gz 二.安装步骤: 解压源文件: 1) tar zvxf httpd-2.4.10.tar. ...