一.问题引入

        前两天学代理模式的时候想到的,接口可不可以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. linux下切割catalina.out文件,按天生成文件

    1.下载工具cronolog压缩包(http://download.csdn.net/detail/sunling_sz/8144469) 2.将文件拖放到server,不论什么文件夹都能够. 3.进 ...

  2. 通过WriteProcessMemory改写进程的内存

    http://www.cnblogs.com/feiyucq/archive/2009/10/21/1587628.html 以PROCESS_ALL_ACCESS权限打开进程以后既能够使用ReadP ...

  3. 搭建docker私有仓库 笔记

    抄送消息到企业微圈 avalon组件 twitterCopy/twitterCopy 说明 说明 说明 说明 说明 说明 该组件提供接口 开发者可以吧 有需要分享到微圈的的信息 发布到微圈中去. 应用 ...

  4. hdu-5009-Paint Pearls-dp

    由题意我们能够知道,花费最多为n. 所以单次最多涂掉sqrt(n)种颜色. dp[i]:涂到第i个位置.之前的花费最少为多少. biao[i][j]:在第i个位置,往前涂j-1种颜色,涂到哪个位置. ...

  5. systemtap分析软raid io拆分问题

    http://www.sysnote.org/2014/05/01/systemtap-analysis-mdraid-io/

  6. MySQL——修改root密码的4种方法(以windows为例)

    方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:my ...

  7. 了解Unicode编码

    制定Unicode编码标准的组织有两个,一个是国际标准化组织ISO,一个是多语言软件制造商组成的统一码联盟. 通用字符集UCS(Universal Character Set)是由ISO制定的编码方案 ...

  8. iOS UIKit:view

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/ ...

  9. centos 6 搭建ftp服务器支持匿名读写

    转载请注明: 凌云物网智科嵌入式实验室: http://iot-yun.com/     郭文学<guowenxue@gmail.com> vsftpd在运行时一定要关闭SELinux,否 ...

  10. 基于JAVA网络编程的聊天小程序

    package com.neusoft.edu.socket; import java.io.BufferedReader; import java.io.IOException; import ja ...