0 0

对于Java中的接口实现多继承的疑问10

目前的理解接口:Interface   的作用就是包含一些抽象方法   然后再其他类中implement接口并override这些抽象方法        感觉纯粹只为了达到统一的方法名访问而作这么个抽象方法,跟直接在类中创建这么一个方法没啥区别      如果要做到像extend那样不重写方法就能使用父类的方法,Interface还是不行啊   实现的多继承也就变成了重写多个接口中的抽象方法,没有那层继承的意义啊

 
2012年5月30日 19:04

4个答案 按时间排序 按投票排序

0 0

采纳的答案

嘿嘿,看看大师们是怎么用interface的。多看看设计模式,才能真正理解什么是接口
继承固然重要,但多继承就会有很多问题

我举一个小例子
父类1有getName
父类2有getName
那么在子类的getName中super()返回的是父类1还是父类2

接口解决了上面的问题,对于没有实现的父接口来说,我返回什么纯粹是自己决定的

嘿嘿

看看设计模式,大量的关于接口的好处。继承是有局限的,虽然他好理解,但不好用

2012年5月30日 21:04
0 0

接口是一种协议规范
在java中的反射,动态代理,spring的IOC都起着重要作用。
JVM中的方法区设计和此也有紧密的联系。

2012年5月31日 17:41
0 0



比如说要读取一个配置文件,这个配置文件来源可以是本地的可以是网络的,
就可以声明个接口和两个实现类,

/**
 * 配置文件接口
 */
public interface Config {

	/**
	 * 获取配置文件
	 * 
	 * @return 配置文件
	 */
	Object getConfig();

}


/**
 * 本地配置文件
 */
public class LocalConfig implements Config {

	public Object getConfig() {
		// 获取本地配置文件
		return null;
	}

}


/**
 * 远程配置文件
 */
public class RemoteConfig implements Config {

	public Object getConfig() {
		// 获取远程配置文件
		return null;
	}

}


在使用的时候,不需要去管到底是本地的配置还是远程的配置,
/**
 * 使用接口
 */
public class UseConfig {

	private Config config;

	public void user() {

		// 在使用之前注入,在使用的时候无需关注
		// 是本地文件还是远程文件
		Object obj = config.getConfig();

	}

}

2012年5月31日 10:08
0 0

接口的功能可不仅仅如此啊,接口可以更加的多变,像模板方法。而且确切的说多重继承是有问题的,所以java使用的是接口。

2012年5月30日 22:10

相关推荐

    教学视频-继承&多态

    Java接口是一种完全抽象的类,只能包含常量和抽象方法,允许实现多继承。 二、多态(Polymorphism) 多态是指同一种行为在不同对象上有不同的表现形式,它是面向对象的三大特性之一(封装、继承、多态)的重要组成...

    Java中接口和抽象类的区别与相同之处

    在Java编程中,接口和抽象类都是用于实现多态性和代码的抽象,但它们在设计和用途上有显著的区别。首先,我们来深入理解这两个概念。 1. 抽象类: 抽象类是对一类对象的抽象,它可能是对某个具体类的扩展。抽象类...

    java训练题3答案.docx

    **结论**:这是 Java 设计中的一个重要特性,允许类既继承特定的行为,又能够实现多个接口提供的功能。 - **子类覆盖父类方法的修饰符:** - 当子类覆盖父类的方法时,覆盖的方法至少应具有与父类方法相同的访问...

    疯狂java讲义 程序源码

    - List、Set、Queue和Map接口:源码中会包含这些接口的实现类,如ArrayList、HashSet、LinkedList、HashMap等,展示它们的特性和用途。 - 泛型:源码中将展示泛型的使用,提高代码的类型安全性和重用性。 - 集合...

    疯狂java讲义 课后答案 光盘内容

    课后答案则是作者为了帮助读者更好地理解和掌握书中的知识点而提供的解答参考,对于学习过程中的疑问和实践提供了明确的指导。光盘内容通常包含了书中所提及的示例代码、练习题解以及其他辅助学习的资源。 1. **...

    Java实验报告及源码

    7. **多线程**:Java支持并发编程,通过Thread类和Runnable接口实现,报告可能探讨了线程同步、互斥锁、线程池等概念。 8. **泛型**:泛型提供了一种在编译时检查类型安全的方式,报告可能会有泛型类、泛型方法的...

    Java中抽象类和接口的区别_动力节点Java学院整理

    Java 中的抽象类和接口是两种不同的概念,它们都是为了实现多态性和提高代码复用性而设计的,但它们之间存在着一些关键的区别。 首先, let's Talk About 抽象类。抽象类是一个特殊的类,它不能被实例化,必须被...

    使用Java理解程序逻辑第5章.zip

    接口是Java中实现抽象和多继承的方式,它定义了一组方法签名,但不提供具体的实现。通过接口,我们可以实现不同类之间的通信和协作。 通过学习本章内容,你将对Java程序逻辑有更深入的理解,并能运用这些知识解决...

    JAVA解惑

    然而,对于初学者或者在开发过程中遇到难题的程序员来说,理解并解决Java中的疑惑是非常重要的。 首先,我们要理解Java的基础概念。Java程序是由类组成的,每个类都包含方法和变量。类是对象的模板,而对象则是程序...

    基础java大学教程第六版(html)

    在继承和多态章节,你会学习到如何通过继承扩展类的功能,以及多态性在Java中的实现,这有助于代码的重用和模块化设计。接口也会在此部分被讨论,它是实现多态的一种重要方式。 异常处理是Java编程中不可或缺的一...

    java帮助文档API

    这依赖于继承和接口实现。 9. **集合框架(Collections Framework)**:Java的集合框架包括了`List`、`Set`、`Map`等接口,以及它们的实现类如`ArrayList`、`HashSet`、`HashMap`等,是存储和操作对象的主要工具。 ...

    Java并发程序设计教程.rar

    Java提供了多种创建线程的方式,如继承Thread类和实现Runnable接口。线程同步是避免数据竞争的关键,Java提供了多种同步机制,如synchronized关键字、volatile变量、java.util.concurrent包中的Lock接口及其实现类如...

    java自学课件

    接着,学习并掌握集合框架,这是Java编程中非常重要的部分,包括List、Set、Map等接口及其实现类的使用。此外,理解并实践多线程编程,能让你编写出高效运行的并发应用程序。不要忽视IO和NIO(非阻塞I/O)的知识,这...

    Java基础思维导图

    10. **JNI与JVM原理**:虽然对于初学者不是必须的,但理解Java本地接口(JNI)和Java虚拟机(JVM)的工作原理,可以帮助优化性能和深入理解Java的执行机制。 11. **实用类库**:如Math类、Date/Time API、...

    Java程序设计培训教程(实例)

    《Java程序设计培训教程(实例)》是一份专为初学者和有一定基础的开发者准备的实战型学习资源,旨在通过...在学习过程中,如果有任何疑问或困惑,建议配合正规教材或在线资源,以全面理解和掌握Java编程的各个方面。

    Java_解惑(PDF)

    8. **接口与抽象类**:这两种都是实现多态的方式,但有各自的使用场景和限制。理解它们的区别对编写可扩展的代码至关重要。 9. **JVM与内存管理**:Java虚拟机(JVM)的运作方式,包括堆内存、栈内存和方法区,以及...

    应聘Java笔试时可能出现问题及其答案

    4、多线程实现:Java中创建线程有两种方式:继承Thread类或实现Runnable接口。继承Thread可以直接创建新线程,而实现Runnable接口的类可以被Thread类引用,达到同样效果。同步的实现方法主要包括synchronized关键字...

    GetArea.java

    编写JSP网页的和JavaBean的代码,不会太麻烦,还算简单,可以参考一下。如果有疑问,欢迎留言。

    完整版精品java课件 Java基础入门教程 Java程序设计 第1章 Java语言概述(共38页).ppt

    2. **面向对象**:Java完全支持面向对象编程,包括类、对象、继承、封装和多态性,提供了一种强大的面向对象模型。 3. **健壮性**:Java强调强类型检查、垃圾回收机制,以及异常处理,旨在提高程序的稳定性和可靠性...

Global site tag (gtag.js) - Google Analytics