Java中用匿名内部类实现实例化抽象类

简介:

抽象类是不能被实例化的,抽象必须被继承,也就是只能实例化抽象类的子类。

但是Java中有一段有趣的功能。

比如:

public abstract class MyAbstractclass {}

MyAbstractclass是一个抽象类。可以在Main方法中实例化这个抽象类。

MyAbstractclass my=new  MyAbstractclass() {};

其实这只是一个假象,而且和普通的对象实例化的写法也不同,后面带有一对{} 。

其实这个写法是匿名内部类的用方法。 匿名类是没有有名称的类,创建时,使用new语句的一部分来声明。因此上面的代码其实声明了一个匿名类,然后这个匿名类继承了抽象类MyAbstractclass。因此{}中可以写这个类的实现细节。

使用System.out.println(my.getClass().toString());得到这个匿名类的类型为class mytest.mytestpkg.Tj$1。

具体可以参考:http://blog.csdn.net/liupeng900605/article/details/7723529

















本文转自cnn23711151CTO博客,原文链接: http://blog.51cto.com/cnn237111/1131550,如需转载请自行联系原作者







相关文章
|
10天前
|
Java
Java中的抽象类:深入了解抽象类的概念和用法
Java中的抽象类是一种不能实例化的特殊类,常作为其他类的父类模板,定义子类行为和属性。抽象类包含抽象方法(无实现)和非抽象方法。定义抽象类用`abstract`关键字,子类继承并实现抽象方法。抽象类适用于定义通用模板、复用代码和强制子类实现特定方法。优点是提供抽象模板和代码复用,缺点是限制继承灵活性和增加类复杂性。与接口相比,抽象类可包含成员变量和单继承。使用时注意设计合理的抽象类结构,谨慎使用抽象方法,并遵循命名规范。抽象类是提高代码质量的重要工具。
25 1
C4.
|
1月前
|
Java
Java抽象类
Java抽象类
C4.
17 0
|
1月前
|
安全 Java
Java 抽象类与方法:实现安全性与代码重用
在 Java 中,可以嵌套类(即类内部的类),称为内部类。嵌套类的目的是将属于一起的类分组,从而使您的代码更可读和可维护。 访问内部类 要访问内部类,请创建外部类的对象,然后创建内部类的对象:
62 0
|
4月前
|
Java
Java中的抽象类(看这篇就够了)
Java中的抽象类(看这篇就够了)
20 0
|
1月前
|
设计模式 搜索推荐 Java
java接口和抽象类的区别,以及使用选择
java接口和抽象类的区别,以及使用选择
25 0
|
2天前
|
设计模式 Java
Java接口与抽象类
Java接口与抽象类
15 0
|
10天前
|
Java 关系型数据库 MySQL
大厂面试题详解:Java抽象类与接口的概念及区别
字节跳动大厂面试题详解:Java抽象类与接口的概念及区别
33 0
|
29天前
|
Java
Java抽象类
Java抽象类
8 0
|
1月前
|
算法 Java
JAVA抽象类
JAVA抽象类
11 0
|
1月前
|
Java
Java面向对象程序设计5接口与抽象类
Java面向对象程序设计5接口与抽象类
25 0