一、类和接口的继承&实现问题:
1、一个接口可以继承多个接口,例如:interface C extends A, B {}.
其中A,B,C都是接口。此时接口C已经有A,B中全部的方法,也可以自己再添加额外的方法。(你可以理解为每个接口都是一个类)。
2、一个类只能继承一个类,不能继承多个类:class B extends A{}.
3、一个类可以实现多个接口:class D implements A,B,C{}
注意:一个类如果实现了一个接口,则必须实现它的所有方法;
4、在继承类的同时,也可以实现接口:class E extends D implements A,B,C{}
二、接口&抽象类
1、接口
接口中的变量会被隐式地指定为public static final变量,且显式指定时也必须如此,否则会报错;
接口中的方法会被隐式地指定为public abstract方法,且显式指定时也必须如此,否则会报错。
2、抽象类
1)如果一个类含有抽象方法(用abstract关键字修饰的方法),则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。
2)抽象类与普通类之间的区别:
a.抽象类中含有没有具体实现的方法,所以不能用抽象类创建对象。
b.抽象方法必须被声明为public或protected才能被子类继承并实现。缺省情况下为public。
c.抽象类中的抽象方法必须被子类实现,如果未实现父类的抽象方法,则子类也必须定义为abstract类。
3、常说的“是不是”和“有没有”的含义:
接口代表了行为的抽象,抽象类则是对整个类的抽象(类包括属性和行为)。
一个子类继承了一个抽象类,则该子类必然和该父类一个种类(有其父必有其子),因此说继承是“是不是”的关系;
一个类实现了一个接口,说明这个类有这个接口中的行为,接口实现是“有没有”的关系。
相关推荐
"Java解惑(中文).pdf"这份文档很显然是为了帮助Java开发者解决他们在编程过程中遇到的一些常见困惑和误解。这份高清版、文字版的资料很可能包含了深入浅出的解释和实例分析,以中文的形式呈现,使得国内开发者更容易...
《Java解惑(中文版)》是一本专为Java初学者设计的学习资料,旨在帮助读者解答在学习Java过程中遇到的各种困惑。"solve65p"可能代表这本书包含65个问题或主题,每个都深入浅出地进行了讲解,旨在解决初学者在编程...
4. **多线程**:Java提供了丰富的API来支持多线程编程,如Thread类和Runnable接口,问题可能涉及线程同步、死锁、活锁等问题。 5. **IO流**:Java的输入/输出流系统用于读写文件、网络通信等,理解流的概念和不同...
"JAVA解惑"的主题针对的是Java学习过程中遇到的一些常见问题和难点,旨在帮助开发者深入理解和解决这些问题。以下是基于这个主题和描述可能涵盖的一些关键知识点: 1. **Java基础**:这可能包括变量、数据类型、...
然而,在Java中有一些关键字的使用可能会让人感到困惑,例如`public`、`protected`、`private`和`static`等。理解这些关键字何时使用、为什么使用以及如何使用是非常重要的。 #### 三、深入面向对象编程特性 面向...
本篇将详细探讨"Java习题(一些不注意就犯的错误)"中涉及的知识点,包括字符谜题、循环谜题、异常谜题、类谜题以及库谜题,旨在帮助你更好地理解和避免这些常见问题。 1. 字符谜题: Java中的字符处理有时会让人...
对于那些在学习基础阶段或在解决各种编程问题上遇到困惑的人来说,找到优质的Java学习资源和加入专业的学习社群是非常关键的。高质量的学习资源可以帮助学习者避免重复低效的学习方法,节约宝贵的时间,并为今后的...
这份“Java解惑.pdf”文档很可能包含了解决Java开发者在编程过程中遇到的常见问题和困惑的详细解答。以下是可能涵盖的一些Java相关知识点: 1. **基础语法**:Java的基础语法包括变量、数据类型、运算符、流程控制...
《JAVA解惑》这本书主要针对Java编程中遇到的各种常见问题和困惑进行了解答,旨在帮助开发者深入理解Java语言,提高编程技巧。以下是一些关键的知识点解析: 1. **异常处理**:Java中的异常处理是通过try-catch-...
6. **反射与注解**:Java的反射机制允许程序在运行时检查类和接口的信息,而注解则提供了一种元数据的方式。书中会讲解如何运用这两种特性来增强代码的灵活性和可维护性。 7. **JVM优化**:理解JVM的工作原理对提升...
这份名为"JAVA解惑"的PDF文档,可能是由一位经验丰富的Java开发者或者教育者编写的,旨在帮助读者理解并解决Java学习过程中遇到的困惑。它可能包含了各种常见问题的解答,如语法错误、程序逻辑错误、性能优化、内存...
其次,书中的"解惑"部分可能会深入到一些常见的困惑和陷阱,例如: 1. **内存管理**:解释Java的垃圾回收机制,如何避免内存泄漏。 2. **异常处理最佳实践**:如何有效地捕获和处理异常,避免程序异常中断。 3. **...
《Java解惑(中文)》是一本专注于解决Java编程中常见问题和困惑的资源集合,旨在帮助初学者和有经验的开发者更好地理解和掌握Java语言。本文将深入探讨Java编程中的关键概念、常见问题以及解决方案。 1. **Java...
- **变量与数据类型**:Java支持基本数据类型(如int、double等)和引用类型(如类、接口和数组)。理解它们的区别对于正确使用变量至关重要。 - **控制流**:包括if条件语句、for、while循环以及switch语句,这些...
在Java编程语言中,有很多细节和特性可能会让初学者感到困惑。本文将深入探讨几个常见的问题,以帮助初学者更好地理解和使用Java。 1. **内存管理与垃圾回收**:Java引入了自动内存管理机制,即垃圾回收(Garbage ...
这个教程附带的学习顺序指南将为你提供清晰的路径,帮助你避免自学过程中的困惑和迷茫。 总之,“Java基础教程(Java SE)”是一个全面的初级入门资料,无论你是0基础还是有一定编程经验,都能从中受益。通过系统...
这本书深入浅出地解析了Java编程中的常见困惑,涵盖了语言基础、类库应用、多线程、网络编程、异常处理、内存管理等多个重要领域。以下是基于该书主题的一些关键知识点: 1. **Java基础**:Java语言的基础语法是...
Java编程语言以其强大的功能和广泛的应用领域而深受程序员喜爱,然而,随着学习的深入,一些概念和特性可能会让人感到困惑。以下就是针对标题"java解惑(罗列了95个容易让你迷惑的java知识点)"中提及的一些关键知识点...
这篇博客“java 解惑”可能涵盖了Java开发中的一些常见问题和解决方法,旨在帮助开发者解决他们在编程过程中遇到的难题。通过阅读博主戈友阿姨在iteye上的这篇博文,我们可以期待获取到一些关于Java编程的实际问题...
6. **反射与动态代理**:反射机制允许在运行时检查类、接口、字段和方法,而动态代理则能实现动态创建代理对象,这两者在Java中有着广泛的应用。 7. **泛型**:泛型提高了代码的类型安全性和重用性,书中可能详细...