您的位置:首页 > 编程语言 > Java开发

java的interface总结

2016-03-01 16:49 281 查看
  这几天好不容易的学完了java的接口虽然一直以来都相对比较了解interface 但是却从来没有细致的梳理过这些知识点  从新来一遍 才发现 哇靠 好多新大陆

 

   个人理解interface 和 abstract 的区别不大,只不过接口里只能抽象方法 和 常量 而abstract 可以有实际的方法 和 属性

 

 知识点一 :

 接口类内的省略写法

       原始: public final static int I = 1   ;      可以省略为int I = 1;

          public final static void method1 ();    可以省略为void method1;

 

 

  知识点二 

      接口可以继承于其他接口 但是要用extends 关键字

 

 

知识点三:

工厂方法:

定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。

适用性:

1. 当一个类不知道它所必须创建的对象的类的时候

2. 当一个类希望由它的子类来指定它所创建的对象的时候

3. 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候

以下为测试代码

package testInterface;

public class TestFactoryMethod {

 

 public static void main(String[] args) {

  WorkFactory w = new StudentFactory();

  w.getWork().doWork();

 }

 

}

interface Work{

 void doWork();

}

class StudentWork implements Work{

 @Override

 public void doWork() {

  System.out.println("学生学习");

 }

 

}

class TeacherWork implements Work{

 @Override

 public void doWork() {

  System.out.println("教师学习");

 }

 

 

}

interface WorkFactory{

 Work getWork();

}

class StudentFactory implements WorkFactory{

 @Override

 public Work getWork() {

  // TODO Auto-generated method stub

  return new StudentWork();

 }

 

}

class TeacherFactory implements WorkFactory{

 @Override

 public Work getWork() {

  // TODO Auto-generated method stub

  return new TeacherWork();

 }

 

}

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: