Java中接口与实例化
2023-09-27 14:20:54 时间
一.问题引入
前两天学代理模式的时候想到的,接口可不可以new呢?
接口是特殊的抽象类,接口的方法都默认为 public abstract 的。。。 抽象的方法不能new的哦,不能被实例化,为什么new ActionListener(){} 可以?不多说了,直接看资料。
二.若干资料
Java不能同时继承多个类,但是可以继承多个接口;接口可以用来变相的继承多个类;为什么new ActionListener(){} 可以这样,接口可以被new吗?new ActionListener(){} 这种形式,是要在{}中重写接口中的方法。接口不能new ,不过可以生成一个匿名类,当然,匿名类不止实现接口这一种。省略了写一个具体类实现ActionListener接口的开销。
接口不能直接new,但是它可以作为别的类的变量。如果有类实现了这个接口,则可以new! 举一个简单的例子:java.lang.List是一个接口,但是List<String> list=new ArrayList<String>();是没有任何错误的,因为ArrayList实现了List接口。接口编程是为了实现多继承,在java web中的spring框架下用到十分多。
三.简单例子
实现匿名类。最简单的线程类,可以这么写。Thread thread = new Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stub
}});-------------------------------------------------------------------------------------------------------------------------
class Test {
int start=1;
int end=100;
public static void main(String[] args) {new Test().go();
}void go() {
Runnable a=new Runnable() {
public void run() {for(int i=start;i<end;i++)System.out.println(i);}};Thread t=new Thread(a);
t.start();}}
相关文章
- java内存结构(执行时数据区域)
- 算法(第四版)学习笔记之java实现希尔排序
- java中线程的生命周期
- Java 网络实例三(获取URL响应头的日期信息、获取URL响应头信息、解析URL、ServerSocket和Socket通信实例)
- Java 中接口 interface 实例介绍
- 【JAVA】循环语句实例大全!(源代码招呼!)
- Java核心技术卷I基础知识2.4 运行图形化应用程序
- JAVA单元测试框架-9-testng.xml管理依赖
- java操作mongoDB数据库的简单实例
- 【JAVA UI】HarmonyOS的悬浮框实现
- Spring拦截器获取request请求体中的json数据,并转换成Java对象的解决办法
- Java经典实例:实现一个简单堆栈
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java eclipse下 Ant build.xml实例详解
- Java学习-077-多线程10:线程资源同步问题实例演示
- 给java中的System.getProperty添加新的key value对
- Java|static关键字【实例变量与类变量、实例方法与类方法】
- Java实例---计算器实例
- 策略模式原理及Java代码实例
- java操作Hbase实例
- 深入Java虚拟机(4)——网络移动性
- 谁动了我的奶酪?--java实例初始化的顺序问题
- Java新手入门200例120之验证所有的类都是Class类的实例对象
- Java多线程-简单使用Lock(锁)