一.问题引入

        前两天学代理模式的时候想到的,接口可不可以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() {
@Override
public 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中接口与实例化的更多相关文章

  1. Java中创建(实例化)对象的五种方式

    Java中创建(实例化)对象的五种方式1.用new语句创建对象,这是最常见的创建对象的方法. 2.通过工厂方法返回对象,如:String str = String.valueOf(23); 3.运用反 ...

  2. Java中接口和抽象类的比較

    Java中接口和抽象类的比較-2013年5月写的读书笔记摘要 1. 概述 接口(Interface)和抽象类(abstract class)是 Java 语言中支持抽象类的两种机制,是Java程序设计 ...

  3. 转载 - java中接口的向上转型。和多态性

    发现一篇对接口总结很精简的文章 1.在java中接口就是一个完全抽象的类,跟抽象类一样不能产生对象,但是可以作为对象的引用,可以由其实现类向上转型,它就跟超类一样, 向上转型了,可以很好的利用接口,可 ...

  4. 浅谈Java中接口与抽象类的异同

    浅谈Java中接口与抽象类的异同 抽象类和接口这两个概念困扰了我许久,在我看来,接口与抽象类真的十分相似.期间也曾找过许许多多的资料,参考了各路大神的见解,也只能是简简单单地在语法上懂得两者的区别.硬 ...

  5. JAVA中接口与抽象类

    抽象类总结 抽象类的概念:是使用关键字abstract修饰的类就是抽象类: 抽象类的产生:当多个不能相互继承的类具有相同的功能时,就需要将共同的信息向上抽取,放到公共的父类中:如果公共的父类只能描述所 ...

  6. java中接口的定义

    使用interface来定义一个接口.接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成.定义接口的基本格式如下: [修饰符] interface 接口名 [ ...

  7. 浅谈java中接口与抽象类之间的异同

    刚学习java的时候,总觉得接口和抽象类很像,但又说不上具体有什么区别.今天静下来,翻翻书,查查资料,做个小结.首先举两个例子,看看interface和abstract class 在“外形”上有啥异 ...

  8. Java中接口的作用

    转载于:https://www.zhihu.com/question/20111251 困惑:例如我定义了一个接口,但是我在继承这个接口的类中还要写接口的实现方法,那我不如直接就在这个类中写实现方法岂 ...

  9. java 中接口的概念

    接口接口在java中是一个抽象的类型,是抽象方法的集合,接口通常使用interface来声明,一个类通过继承接口的方式从而继承接口的抽象方法.接口并不是类,编写接口的方式和类的很相似,但是他们属于不同 ...

随机推荐

  1. MapObject shape数据操作

    利用MO 的GeoDataset  .DataConnection  Recordset 进行数据操作 在MO中.使用GeoDataset对象和DataConnection 对象来连接和读取地理数据. ...

  2. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(22)-权限管理系统-模块导航制作

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(22)-权限管理系统-模块导航制作 最近比较忙,系统难度独步增加,文章的发布速度明显比以前慢了. 由于我们 ...

  3. etrace 跟踪程序函数动态执行流程

    https://github.com/elcritch/etrace 窗口1: 监控窗口,执行监控程序,显示监控结果 [root@monitor example]# pwd /root/etrace- ...

  4. Qt 学习之路 :信号槽

    信号槽是 Qt 框架引以为豪的机制之一.熟练使用和理解信号槽,能够设计出解耦的非常漂亮的程序,有利于增强我们的技术设计能力. 所谓信号槽,实际就是观察者模式.当某个事件发生之后,比如,按钮检测到自己被 ...

  5. hadoop小文件合并

    1.背景 在实际项目中,输入数据往往是由许多小文件组成,这里的小文件是指小于HDFS系统Block大小的文件(默认128M), 然而每一个存储在HDFS中的文件.目录和块都映射为一个对象,存储在Nam ...

  6. ckeditor 敏感词标记显示处理方法

    直接在原型添加方法: (function () { /* * 取消所有高亮 */ CKEDITOR.editor.prototype.CancleSensitiveWordsHighlight = f ...

  7. CSS块级元素、内联元素概念

    CSS文档流与块级元素(block).内联元素(inline),之前翻阅不少书籍,看过不少文章, 看到所多的是零碎的CSS布局基本知识,比较表面.看过O'Reilly的<CSS权威指南>, ...

  8. 【Android】面试宝典

    Android面试 1. 内容介绍................................................................................... ...

  9. 第二篇:python高级之装饰器

    python高级之装饰器   python高级之装饰器 本节内容 高阶函数 嵌套函数及闭包 装饰器 装饰器带参数 装饰器的嵌套 functools.wraps模块 递归函数被装饰 1.高阶函数 高阶函 ...

  10. asp.net 事件模型

    asp.net的原始设计构想,就是要让开发人员能够像 VB 开发工具那样,可以使用事件驱动式程序开发模式 (Event-Driven Programming Model) 的方法来开发网页与应用程序, ...