前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >J2SE 接口 [interface]

J2SE 接口 [interface]

作者头像
Hongten
发布2018-09-13 17:20:24
3280
发布2018-09-13 17:20:24
举报
文章被收录于专栏:Hongten

Runner.java

代码:

/**  * 接口  *  接口 [interface]是抽象方法和常量值的定义的集合  *    *  从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现  *  *  接口中所有的方法都是抽象方法,包含的属性值都是常量值  *  *  接口中定义的属性必须是: public static final  *  *  接口中定义的方法必须是:public abstract  *  *  而这些修饰符可以部分或全部省略  *  *   下面Runner接口等价于:  *   public interface Runner{  *       int id=1;  *      void strat();  *      void run(); *      void stop();  *   }  *     *  *  */ package com.b510.examples.dao;

/**  * @author Hongten  *  * @time 2011-8-10 2011  */ public interface Runner {

 public static final int id = 1;

 public abstract void start();

 public abstract void run();

 public abstract void stop(); }

***********************************Hongten**********************************

Animal.java

代码:/**  *  */ package com.b510.examples.dao;

/**  * @author Hongten  *  * @time 2011-8-10 2011  */ public interface Animal {

 public abstract void eat(); }

***********************************Hongten**********************************

Swimmer.java

代码:

/**  *  */ package com.b510.examples.dao;

/**  * @author Hongten  *  * @time 2011-8-10 2011  */ public interface Swimmer {

 public abstract void swim(); }

***********************************Hongten**********************************

Person.java

代码:

/**  *  */ package com.b510.examples.impl;

import com.b510.examples.dao.Animal; import com.b510.examples.dao.Runner; import com.b510.examples.dao.Swimmer;

/**  * @author Hongten  *  * @time 2011-8-10 2011  */ public class Person implements Runner, Swimmer, Animal {

 @Override  public void run() {   System.out.println("这是重写Runner接口中的run()方法");

 }

 @Override  public void start() {   System.out.println("这是重写Runner接口中的start()方法");

 }

 @Override  public void stop() {   System.out.println("这是重写Runner接口中的stop()方法");

 }

 @Override  public void swim() {   System.out.println("这是重写Swimmer接口中的swim()方法");

 }

 @Override  public void eat() {   System.out.println("这是重写Animal接口中的eat()方法");

 }

}

***********************************Hongten**********************************

测试类:

Test.java

代码;

/**  *  * 接口特性总结:  *   通过接口可以实现不相关类的相同行为,而不需要考虑这些类之间的层次关系;  *     *   接口可以被多重实现;  *    *   接口可以继承其他的接口,并添加新的属性和抽象方法,接口可以多重继承;  *  *    如:public interface A{  *      public abstract void a();  *     }  *  *     public interface B{  *      public abstract void b();  *     }  *  *     public interface C implements A,B{  *      public abstract void a();   *      public abstract void b();  *      public abstract void c();  *     }  *  *  */ package com.b510.examples.action;

import com.b510.examples.dao.Animal; import com.b510.examples.dao.Runner; import com.b510.examples.dao.Swimmer; import com.b510.examples.impl.Person;

/**  * @author Hongten  *  * @time 2011-8-10 2011  */ public class Test {

 /**   * @param args   */  public static void main(String[] args) {

System.out.println("*************多态***************");  Runner person = new Person();   person.start();   person.run();   person.stop();   System.out.println("**************多态**************"); Swimmer sPerson = new Person();   sPerson.swim();   System.out.println("*************多态***************"); Animal aPerson = new Person();   aPerson.eat();

 }

}

***********************************Hongten**********************************

运行效果:

*************多态***************

这是重写Runner接口中的start()方法 这是重写Runner接口中的run()方法 这是重写Runner接口中的stop()方法 **************多态************** 这是重写Swimmer接口中的swim()方法 *************多态*************** 这是重写Animal接口中的eat()方法

***********************************Hongten**********************************

今天焕然大悟,终于把一直困惑的问题给搞清楚了,在原来一直不知道interface中的方法是抽象的,

所以,一直以来都认为,我学了abstract这个东东,但是我好像都没有用到……当然今天看来,这只是

自己的想法而已,其实,我早就在用这个一直"隐藏"的abstract了。因为这样,所以做了这个笔记,

读者如果你也和原来的我一样的话,希望你也像我今天一样焕然大悟!!

                                  -----Hongten

***********************************Hongten**********************************

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2011-08-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档