zoukankan      html  css  js  c++  java
  • Java中接口与实例化

    一.问题引入

            前两天学代理模式的时候想到的,接口可不可以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(); 
    
      }
    
    }

     

  • 相关阅读:
    jquery animate()方法 语法
    jquery unload方法 语法
    jquery undelegate()方法 语法
    jquery unbind()方法 语法
    jquery trigger() 方法 语法
    jquery toggle()方法 语法
    jquery change() 函数 语法
    jquery blur()函数 语法
    jquery bind()方法 语法
    jquery checked选择器 语法
  • 原文地址:https://www.cnblogs.com/hxsyl/p/3265269.html
Copyright © 2011-2022 走看看