我们通常被告知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 接口及抽象类实例化相关推荐

  1. java接口和抽象类的区别和作用

    java接口和抽象类的区别和作用 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过(implements)接口的方 ...

  2. java接口和抽象类的区别(经典面试题)

    java接口和抽象类的区别(经典面试题) 要了解接口和抽象类的区别,首先需要明白接口和抽象类的定义. 1.抽象类 包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可 ...

  3. 什么时候使用接口?什么时候使用抽象?选择Java接口还是抽象类 (转)

    老帖了,但是还是想自己收录一下.最后也把自己对于这个问题的一些粗糙的理解记录下来. 在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的.在这种情况下,各个对象内部是如何实现自己的对 ...

  4. java 接口与抽象类的区别

    1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法 ...

  5. Java 接口和抽象类可以被new么?

    背景: 最近有同事跟我说了他面试时遇到的问题,考官问:"接口和抽象类可以被new嘛?".这可能不是考官的原话,但是据他表达考官大概就是这个意思了.听到这个问题,我的第一反应是肯定不 ...

  6. Java 接口和抽象类可以被new么?——顺便总结内部类

    转载:https://blog.csdn.net/hackersaillen/article/details/47281549 背景: 最近有同事跟我说了他面试时遇到的问题,考官问:"接口和 ...

  7. java 接口和抽象类的区别6_JAVA基础篇-接口和抽象类的区别

    .前言 JAVA是一种面向对象语言,具备抽象(Abstract),封装(packing),继承(extends),多态(polymorphic)四大特性. 我们重点从oop思想∠来分析. .在面向对象 ...

  8. 抽象类中不能有private的成员_【java基础】-- java接口和抽象类的异同分析

    在java中,通常初学者搞不懂接口与抽象类,这也是面试比较容易问到的一个问题.下面我来谈谈自己的理解.如有不妥之处,还望批评指正,不胜感激. 1.抽象类怎么定义和继承? 2.接口怎么定义和实现? 3. ...

  9. java接口与抽象类异同分析

    在java中,通常初学者搞不懂接口与抽象类,这也是面试比较容易问到的一个问题.下面我来谈谈自己的理解.如有不妥之处,还望批评指正,不胜感激. 1.抽象类 我们定义一个抽象类person.class表示 ...

最新文章

  1. Java的equals() 和 hashCode()
  2. pytorch eval
  3. python入门经典例题-Python入门经典练习题
  4. 赞扬别人团建评论_赞扬精心设计:基于属性的测试如何帮助我成为更好的开发人员...
  5. Neo4j 2.1:传递节点ID与UNWIND
  6. 简易中控紫猫插件版(3)压缩包使用说明
  7. Redis开启远程访问,你需要注意这些问题
  8. linux 内网gcc版本安装,Linux 内网环境安装gcc
  9. ToStringBuilder.reflectionToString
  10. C语言入门常见的代码
  11. Markdown标题加粗居中写法
  12. HTML 界面画图工具
  13. linux 安全删除文件_如何在Linux上安全删除文件
  14. P1930 亚瑟王的宫殿
  15. UltraEdit 文本代码程序编辑器免费版下载安装教程
  16. javaweb:会话管理和保存会话数据的两种技术(Cookie、Session)
  17. 网易云音乐等三方app如何在锁屏显示
  18. 兰州大学计算机考研资料汇总
  19. java中EQ、NE、GT、GE、LT、LE分别代表含义
  20. 个人站——作品集页面设计

热门文章

  1. 荣耀7点击Android版本,华为荣耀7回退教程(Android5.1降级5.0)
  2. Python字节串和字节数组
  3. 谷歌Google Authenticator实现双因素认证
  4. AI—漂亮的花简单制作(含详细教程)
  5. unity在打开项目时就完成相应平台的转换
  6. 想转行做软件测试,不知道如何选择学校?
  7. 京东/淘宝的手机销售榜
  8. 条件随机场(CRF)模型详解
  9. 计算机键盘配合,笔记本电脑搭配机械键盘超爽的真实体验
  10. 小红书爆文怎么打造?今天让我们一起来看看吧