java 接口及抽象类实例化
我们通常被告知java的接口和抽象类都是不能被实例化的。但在实际代码中,你是否见过类似以下的奇怪代码:
public static void main(String[] args) {Frame frame = new Frame("kroseing");frame.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosed(WindowEvent e) {super.windowClosed(e);}});}
是的,WindowAdapter作为一个抽象类,它被"实例化"了!
实际上,这是运用了java中的匿名类,达到了看起来实例化接口或抽象类的效果,实际是匿名类实现了接口或抽象类,实例化的是此匿名类。
下面提供一hello world 级别的示例:
创建一个接口类:InterfaceClass
/*** author:kroseing* 2019-02-21 17:25*/
public interface InterfaceClass {public void getB();public void getD();
}
创建一个抽象类:AbstractClass
/*** author:kroseing* 2019-02-21 17:25*/
public abstract class AbstractClass {public void getA(){}abstract void getC();
}
创建测试类:NimingleiTest
/*** author:kroseing* 2019-02-21 17:25*/
public class NimingleiTest {public static void main(String[] args) {AbstractClass testInterface = new AbstractClass() {@Overridepublic void getA() {System.out.println("hoorui!!!");}@Overridepublic void getC(){}};new InterfaceClass(){@Overridepublic void getB() {System.out.println("niuB");}@Overridepublic void getD() {}}.getB();testInterface.getA();}
}
运行结果:
niuB
hoorui!!!
java 接口及抽象类实例化相关推荐
- java接口和抽象类的区别和作用
java接口和抽象类的区别和作用 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过(implements)接口的方 ...
- java接口和抽象类的区别(经典面试题)
java接口和抽象类的区别(经典面试题) 要了解接口和抽象类的区别,首先需要明白接口和抽象类的定义. 1.抽象类 包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可 ...
- 什么时候使用接口?什么时候使用抽象?选择Java接口还是抽象类 (转)
老帖了,但是还是想自己收录一下.最后也把自己对于这个问题的一些粗糙的理解记录下来. 在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的.在这种情况下,各个对象内部是如何实现自己的对 ...
- java 接口与抽象类的区别
1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法 ...
- Java 接口和抽象类可以被new么?
背景: 最近有同事跟我说了他面试时遇到的问题,考官问:"接口和抽象类可以被new嘛?".这可能不是考官的原话,但是据他表达考官大概就是这个意思了.听到这个问题,我的第一反应是肯定不 ...
- Java 接口和抽象类可以被new么?——顺便总结内部类
转载:https://blog.csdn.net/hackersaillen/article/details/47281549 背景: 最近有同事跟我说了他面试时遇到的问题,考官问:"接口和 ...
- java 接口和抽象类的区别6_JAVA基础篇-接口和抽象类的区别
.前言 JAVA是一种面向对象语言,具备抽象(Abstract),封装(packing),继承(extends),多态(polymorphic)四大特性. 我们重点从oop思想∠来分析. .在面向对象 ...
- 抽象类中不能有private的成员_【java基础】-- java接口和抽象类的异同分析
在java中,通常初学者搞不懂接口与抽象类,这也是面试比较容易问到的一个问题.下面我来谈谈自己的理解.如有不妥之处,还望批评指正,不胜感激. 1.抽象类怎么定义和继承? 2.接口怎么定义和实现? 3. ...
- java接口与抽象类异同分析
在java中,通常初学者搞不懂接口与抽象类,这也是面试比较容易问到的一个问题.下面我来谈谈自己的理解.如有不妥之处,还望批评指正,不胜感激. 1.抽象类 我们定义一个抽象类person.class表示 ...
最新文章
- Java的equals() 和 hashCode()
- pytorch eval
- python入门经典例题-Python入门经典练习题
- 赞扬别人团建评论_赞扬精心设计:基于属性的测试如何帮助我成为更好的开发人员...
- Neo4j 2.1:传递节点ID与UNWIND
- 简易中控紫猫插件版(3)压缩包使用说明
- Redis开启远程访问,你需要注意这些问题
- linux 内网gcc版本安装,Linux 内网环境安装gcc
- ToStringBuilder.reflectionToString
- C语言入门常见的代码
- Markdown标题加粗居中写法
- HTML 界面画图工具
- linux 安全删除文件_如何在Linux上安全删除文件
- P1930 亚瑟王的宫殿
- UltraEdit 文本代码程序编辑器免费版下载安装教程
- javaweb:会话管理和保存会话数据的两种技术(Cookie、Session)
- 网易云音乐等三方app如何在锁屏显示
- 兰州大学计算机考研资料汇总
- java中EQ、NE、GT、GE、LT、LE分别代表含义
- 个人站——作品集页面设计