黑马程序员技术交流社区

标题: 接口理解的问题 [打印本页]

作者: 卢其龙    时间: 2012-1-6 03:33
标题: 接口理解的问题
本帖最后由 卢其龙 于 2012-1-7 09:08 编辑

public class ping implements Iinterface
{


/**

* @param args

*/

public static void main(String[] args) {
                     
  //这里该怎么理解呢??????????????????????????????????????
Iinterface I = new ping();

I.show();

Iinterface D = new Demo1();

D.show();

}



public void show()
{
   System.out.println( "main  ......  show");
}
}
class Demo1 implements Iinterface
{
  //接口实现
  public void show()
   {
       System.out.println( "Demo1  ......  show");
   }

}
interface Iinterface
{
   void show();
}
作者: 刘小峰    时间: 2012-1-6 07:11
你不是在下面定义了一个接口,叫Iinterface
而你的 ping类实现了这个接口
Iinterface D = new ping();就是说,创建一个Iinterface类型的引用,指向ping类的实例对象


作者: 小白    时间: 2012-1-6 09:50
因为java不支持多继承,所以可以继承多个接口来实现多继承,但是必须实现接口内的所有抽象方法!
可以把接口看成一类特殊的类。

作者: 李建平    时间: 2012-1-6 09:56
想想多态,父与子的关系你就会明白点了! 说的就是那个意思!
作者: 罗利民    时间: 2012-1-6 10:11
Iinterface I = new ping();
接口是不可以被实例化的,这里是创建了接口 I 的一个引用指向ping类的一个实例
I 可以看见 实例中从接口那里继承来的属性和方法,至于ping新增的方法就不能看见了
作者: zhangdingdinghm    时间: 2012-1-6 13:05
类可以这么理解.类就是功能的集合.类也可以看做是实现一种功能的集合或者方法..
接口可以理解为,对类的规定,对类的约束,甚至对整个项目的约束.      
接口应该是对类的最高度的抽象。

    Java 不支持多继承性,即一个类只能有一个父类.单继承性使得Java简单,易于管理程
序.为了克服单继承的缺点,Java 使用了接口,一个类可以实现多个接口.
接口体中包含常量定义和方法定义两部分.接口体中只进行方法的声明,不许提供方法的
实现,所以,方法的定义没有方法体,且用分号结尾.如
interface  Printable
{  
   final  int MAX=100;
   void add();
   float sum(float x ,float y);
}

而类是组成Java 程序的基本要素.类封装了一类对象的状态和方法.类是用来定义对象的模板.
类的实现包括两部分:类声明和类体.基本格式为
    class 类名
     { …
      类体的内容… …
    }
作者: zl918    时间: 2012-1-7 06:52
楼主的接口实现注释写在类的上方比较好吧。。父类引用指向子类实现。接口相当与一棵树的根,当指向根的的时候,程序会找到相应的枝干。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2