当前位置:  技术问答>java相关

java没有多继承,用接口来实现多继承的功能,但哪里体现了多继承啊?我对接口的概念一直弄不清楚,请大家帮忙!

    来源: 互联网  发布时间:2015-02-04

    本文导语:  | 接我的上贴: 举个例子,附: //Home.java import java.util.* interface(关键字)  Home {      int pzz = 4;      void desk();      String chair(); } class Zhang implements Home {                      //实现接口后,...


|
接我的上贴:

举个例子,附:
//Home.java

import java.util.*

interface(关键字)  Home {
     int pzz = 4;
     void desk();
     String chair();
}

class Zhang implements Home {                      //实现接口后,此时我们获得了一个
     public void desk() {                          //普通类"Zhang",以后如果继承此
          System.out.println("Zhang.desk()");      //类,我们可对它进行扩展.
     }                                             //implements是一个关键字
     public Sring chair() {
          return "Zhang";
     }
}

class Li implements Home {
     public void desk() {
          Systiem.out.println("Li.desk()");
     }
     public String chair() {
          return "Li";
     }
}

可以将接口想像为"纯"抽象类,可以定义方法名,自变量列表,返回类型,但不规定方法的主体.接口中的基本数据类型(就是系统定义的标识符,如:int,boolen)都默认为static 和 final,方法默认为public,即使不加public关键字.


关于多重继承,java规定:如果确实想从一个非接口继承,那么只能从一个继承.如:

//Deer.java

import java.util.*

interface SporttedDeer {
     void antler();
}

interface RedDeer {
     void deerskin();
}

class Giraffe {
     void anler() {
          System.out.println("Giraffe.anler");
     }
}

class Deer extends Giraffe implements 
   SporttedDeer, RedDeer {
     void deerskin() {
          System.out.println("Deer.deerskin");
     }           
}

使用接口能上塑造形至多个基础类.

不知我举的几个简单的例子你理解了没有?你可以上机调试一下.

|
所谓的接口,实际上也是一个类,只是在接口中声明了一组常量和方法,但事实上没有实现任何方法。这有点类似抽象类,接口需要其他类来提供实现自己所定义方法的过程,而不是自己提供。
这里的用接口实现多继承实际上就是可以用类来实现多个接口中的方法。如下:

class Triangle implements Brushes,Paints,Surface {

……
/*every method in Brushes、Paints and Surface must be implemented in Triangle */
……

}

另外,如果需要extends从句,则implements从句应放在extends从句的后面。比如:

class Triangle extends MyGraphics implements Brushes{

……
/* every method in Brushes must be implemented here */
……

}

就这样,不知对你有没有帮助,其实我也不是很懂,有机会我们再一同探讨,OK?


    
 
 

您可能感兴趣的文章:

  • java继承的问题
  • xx.java继承yy.class,编译xx.java为xx.class时应怎样书写?(谢谢)
  • 关于java的访问控制和继承,这段话怎么理解?
  • 求java.io包中的类的继承关系!
  • 请教大家!!!java如何实现多重继承?接口该如何使用?份数可以再加,只要我明白了
  • 一个JAVA继承的问题(Thinking in JAVA里的一个例子)
  • java继承中的构造方法实例解析
  • java里有没有象vc里的sleep(1000)一样的功能的东西 当然不是实现Runnable不是继承线程类
  • 有关Java构造函数的问题之三——继承性
  • 有两个:1.class与2.java,2.java继承1.class类,要把2.java编译成2.class给如何书写!
  • 数据库 iis7站长之家
  • 提一个java继承方面的问题
  • java中 IO 常用IO操作类继承结构分析
  • 那位大虾知道javaScript的window对象是从java的什么类里继承来的?可否实现如下功能
  • 《thinking in java》一个有关继承的程序不明白,请讲一讲,谢谢
  • Java基础教程之接口的继承与抽象类
  • JAVA中阻止类的继承(官方和非官方)
  • JAVA 继承基本类、抽象类、接口介绍
  • java教程之java继承示例详解
  • 基于java中子类的继承性的应用介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getclasspath定义及介绍
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javaserializedobjectmimetype定义及介绍
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javafilelistflavor定义及介绍
  • 各位学java的朋友,学java的未来是什么,你们学java都用来开发什么项目啊!来者给分!!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getvmname定义及介绍
  • 请问java程序中的import为什么有的用java.….*,而有的又用java.….…,有什么区别吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3