知识大全 Java里如何实现多继承

Posted

篇首语:那就是假话,所谓天才。勤奋的工作才是实在。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java里如何实现多继承相关的知识,希望对你有一定的参考价值。

Java里如何实现多继承  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   接口(interface) 接口被用来建立类与类之间关联的标准     Java code    public interface ITest          public void test();        public class TestImpl implements ITest          public void test()                 System out println( test );             

   抽象类(abstract class) 只要类中有一个抽象方法 此类就被标记为抽象类 实际上抽象类除了被继承之外没有任何意义

  区别    接口是公开(public)的 里面不能有私有的方法或变量 是用于让别人使用的 实现接口的一定要实现接口里定义的所有方法     而抽象类是可以有私有方法或私有变量的 实现抽象类可以有选择地重写需要用到的方法 但是必须实现里面所有的抽象方法     抽象类在 Java 语言中表示的是一种继承关系 一个类只能使用一次继承关系     但是 一个类却可以实现多个interface(java中实现多重继承的方法之一)     抽象类中可以有自己的数据成员 也可以有非abstarct的成员方法     而在接口中 只能够有静态的不能被修改的数据成员(也就是必须是 static final的 不过在 interface中一般不定义数据成员) 而且所有的成员方法都是抽象的     抽象类和接口所反映出的设计理念不同     其实abstract class表示的是 is a 关系 interface表示的是 like a 关系 (组合是 has a 关系)    接口中定义的变量默认是public static final 型 且必须给其初值 所以实现类中不能重新定义 也不能改变其值     抽象类中的变量默认是 friendly 型 其值可以在子类中重新定义 也可以重新赋值

  一般的应用里 最顶级的是接口 然后是抽象类实现接口 最后才到具体类实现 不是很建议具体类直接实现接口的 还有一种设计模式是面向接口编程 而非面向实现编程

  其实接口是抽象类的延伸 可以将它看做是纯粹的抽象类 就是说接口比抽象类还抽象 还有设计接口的目的就是为了实现C++中的多重继承 不过java团队设计的一样更有趣的东西来实现这个功能 那就是内部类(inner class)

  内部类(inner class)    Java code    public class OuterClass//外部类           private class InnerClass//内部类   

  一 定义    放在一个类的内部的类我们就叫内部类     二 作用    内部类可以很好的实现隐藏 也就是封装性 一般的非内部类 是不允许有 private 与protected权限的 但内部类可以    内部类拥有外围类的所有元素的访问权限    可是实现多重继承(这个特点非常重要 个人认为它是内部类存在的最大理由之一)    可以避免修改接口而实现同一个类中两种同名方法的调用    三 多重继承的实现

  类一    Java code    public   class  Example

  public  String getName()             return   luffyke ;          

  类二    Java code    public   class  Example

  public   int  getAge()                           return   ;              

  类三

  Java code    public class MainExample

  public class Test extends Example             public String getName()                 return super getName();                   

  public class Test extends Example             public int getAge()                 return super getAge();                   

  public String showName()             return new Test () getName();       

  public int showAge()             return new Test () getAge();       

  public static void main(String args[])             MainExample example = new MainExample();            System out println( 姓名: + example showName());            System out println( 年龄: + example showAge());           

cha138/Article/program/Java/hx/201311/26594

相关参考

知识大全 Java中的构造函数继承

Java中的构造函数继承  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  专家读书笔记希望能够对大

知识大全 JAVA中用接口实现多继承和多态的方法

JAVA中用接口实现多继承和多态的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JAVA里

知识大全 使用内部类让Java实现“多继承”

使用内部类让Java实现“多继承”  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用内部类让J

知识大全 澄清Java语言接口与继承的本质

澄清Java语言接口与继承的本质  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  计算机学院研二的

知识大全 Java中使用接口实现多继承和多态的方法

Java中使用接口实现多继承和多态的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JAVA

知识大全 在UML中表示Java继承和接口

在UML中表示Java继承和接口  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我们引入了UML

知识大全 面向Java开发人员的Scala指南: 实现继承

面向Java开发人员的Scala指南:实现继承  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  S

知识大全 Java中消除实现继承和面向接口的编程

Java中消除实现继承和面向接口的编程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在匆忙之际

知识大全 Java SynDemo对象如何解决继承问题

JavaSynDemo对象如何解决继承问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Jav