java 匿名类的代码联系
2016-01-03 15:07
447 查看
java 里,可以使用new 语句,定义一个匿名类,同时生成一个这个匿名类的对象。语法如下:
父类 / 父接口类型 对象名 = new 父类 / 父接口名 (父类构造函数形参列表 / 若是父接口则这里是空) { 匿名子类的定义类体 // 写法和普通类类体相同,就是定义各个成员 } ;
//在android事件监听处理中,这个用法应用很广
练习代码如下,包含一个继承了接口的匿名类, 和一个集成了类的匿名类:
public interface IDisplay {
public abstract void printHello();
}
public class WorldDisplay {
public String strName;
public void printWorld()
{
System.out.println("base class : name = "+strName);
}
public WorldDisplay(String strX)
{
strName=strX;
}
}
public class MainClass {
public static void main(String[] args) {
// 1、接口的匿名实现类,调用本类的缺省构造函数生成对象
IDisplay disp=new IDisplay(){
//
@Override
public void printHello()
{
System.out.println("Hello");
}
};
disp.printHello();
// 2、普通类的匿名派生类,调用父类的含有参数的构造函数声称对象
WorldDisplay wdis =new WorldDisplay("liji"){
@Override
public void printWorld()
{
System.out.println("Anonymous derive class: name= "+strName);
}
};
wdis.printWorld();
}
}
父类 / 父接口类型 对象名 = new 父类 / 父接口名 (父类构造函数形参列表 / 若是父接口则这里是空) { 匿名子类的定义类体 // 写法和普通类类体相同,就是定义各个成员 } ;
//在android事件监听处理中,这个用法应用很广
练习代码如下,包含一个继承了接口的匿名类, 和一个集成了类的匿名类:
public interface IDisplay {
public abstract void printHello();
}
public class WorldDisplay {
public String strName;
public void printWorld()
{
System.out.println("base class : name = "+strName);
}
public WorldDisplay(String strX)
{
strName=strX;
}
}
public class MainClass {
public static void main(String[] args) {
// 1、接口的匿名实现类,调用本类的缺省构造函数生成对象
IDisplay disp=new IDisplay(){
//
@Override
public void printHello()
{
System.out.println("Hello");
}
};
disp.printHello();
// 2、普通类的匿名派生类,调用父类的含有参数的构造函数声称对象
WorldDisplay wdis =new WorldDisplay("liji"){
@Override
public void printWorld()
{
System.out.println("Anonymous derive class: name= "+strName);
}
};
wdis.printWorld();
}
}
相关文章推荐
- Java中的Random()
- Java的Hibernate框架中用于操作数据库的HQL语句讲解
- 成员变量和局部变量的区别
- 静态变量和成员变量的区别
- 详解Java的Hibernate框架中的Interceptor和Collection
- java,awt,中文方框,中文乱码
- javac不是内部或外部命令,但是java、java-version指令正常
- 个人笔记之style
- Java开发环境搭建(jdk1.8.0+eclipse)
- Spring集成XFire开发WebService
- Java多线程之生产者消费者2
- Struts2上传文件最大尺寸设置
- windows下搭建Mahout单机环境
- Spring3教程
- Java-螺旋方阵
- Java-螺旋方阵
- Java-螺旋方阵
- JAVA学习笔记(二)——基本语法
- Java笔记---MD5 加密的实现
- myeclipse如何修改jsp的默认编码