`
blues1021
  • 浏览: 139592 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

JAVA中的接口与抽象类的区别记忆

阅读更多

 

接口与抽象类:抓住接口抽象类的控制、非控制修饰->方法的 控制、非控制修饰和书写形式(仅声明or混合使用)->实现类中方法的书写(仅把abstract去掉)。

1.1接口
    1.1  接口用public [默认][abstract] interface interfacename 定义,其中abstract是可选的,当不声明时也会编译时默认添加。

1.1.1其中的公共常量:都是自动添加为抽象的、最终的、静态的,abstract final static没有变量

1.1.2而方法隐含为public,默认,abstract, 的,不能为final,static的;

方法只能是声明方法void specialProcessEvent().

1.2抽象类:
    1.2  抽象类用 public [默认] abstract class classname或 <类的访问控制符>  class classname 但是内部方法有abstract类型的 来定义,

1.2.1 数据成员类型可以是任意 定义的。

1.2.2方法,其中只要有一个成员为抽象的则该类为抽象类(也就是方法可以混合形式使用 ),而方法用public protected 默认 abstract , 不能为final,static,private。

总结:方法都可为 public ,默认,protected, abstract 不能为final private static,因为要用后面的实现或继承(非 private,private)、属于对象(非static)。 只有interface 中常量要求为abstract final static.

后面实现类中方法去掉abstract,其它相同即可。

  2:继承和引用区别:

    2.1  接口为多继承的,不能实现接口类,只能由类来实现,所以接口是上散下聚合于类的.
    2.2  抽象类只可以单继承,实现多接口,只要子类不为抽象类时,都实现了抽象的成员,才能声明对象。

3. 多态:
(1)接口和抽象类通过子类声明的引用都是只能调用自己的方法实现循环处理,而子类特有的只能通过子类对象调用;故实现统一处理

(2) 另一更重要的多态是子类方法的重载方法,使得方法名相同但是对象不同,实现功能也不同

使用抽象类是侧重于代码的复用;而使用接口的动机是侧重实现多态性(统一接口),且提供灵活的多继承。

分享到:
评论

相关推荐

    学习JAVA的步骤 java 学习 步骤

    - **抽象类与接口**:理解抽象类和接口的区别及其应用场景。 - **方法的多态性**:掌握方法重载(Overloading)与方法重写(Overriding)的区别。 - **异常处理**:学习Java的异常处理机制,包括如何捕获异常、抛出...

    java考试题目

    在"java考试题目"中,我们将会涉及到Java的核心概念和技术,包括但不限于类的定义与使用、继承机制、抽象类与接口、多态性以及其他的编程基础。 1. **类与对象**:在Java中,一切皆为对象。类是创建对象的模板,它...

    Java语言程序设计(基础篇+进阶篇)第六版 答案(不含编程题)

    9. **接口与抽象类**:理解接口的作用,如何定义接口和实现接口,以及抽象类的区别与应用。 10. **枚举与注解**:介绍Java中的枚举类型和注解,以及它们在实际开发中的应用场景。 进阶篇则深入探讨了更多高级主题...

    java基础面试机试题库

    12. **接口与抽象类**:了解接口与抽象类的区别,以及多态实现的方式。 13. **内部类**:理解匿名内部类、成员内部类和局部内部类的使用。 14. **文件与I/O流**:掌握文件的读写操作,理解流的概念,包括字节流和...

    java5.0 认证指南

    这部分内容涵盖了类和接口的声明、接口与抽象类的开发、原始类型、数组、枚举和合法标识符的使用,以及静态方法、JavaBeans命名和变长参数列表的应用。 #### 知识点详述: 1. **声明类与接口** 类是对象的蓝图,...

    Java面向对象程序设计耿祥义版课件

    1. 抽象:抽象是将共同特征抽取出来形成类的过程,Java通过抽象类和接口实现抽象。 2. 构造器:构造器用于初始化新创建的对象,Java中的构造器与类同名且无返回值。 3. 访问控制修饰符:private、default(包访问)...

    JAVA23种设计模式及快捷记忆

    2. **抽象工厂模式**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。 3. **单例模式**:保证一个类只有一个实例,并提供一个全局访问点。 4. **建造者模式**:将一个复杂对象的构建与其...

    思维导图-Java基础

    15. **接口与抽象类**:接口的定义与实现,抽象类的使用,接口与多继承的关系。 以上是Java基础学习的主要内容,通过思维导图的方式,我们可以清晰地看到各个知识点之间的关系,方便我们进行有条理的学习和复习。在...

    java二级考试及其答案

    1. **接口与抽象类**:接口的定义与实现,抽象类的使用,以及接口与抽象类的区别。 2. **多线程**:线程的创建方式(Thread类和Runnable接口),线程同步机制(synchronized关键字、wait()、notify()、notifyAll())...

    Java面向对象程序设计PPT.ppt

    本资源是关于Java面向对象程序设计的PPT讲义,主要讲解Java编程中类和对象的概念、方法的定义和设计、访问控制符、静态修饰符、抽象类与抽象方法等内容。 1. 面向对象的基本概念 面向对象编程(OOP)是一种编程...

    Java基础模拟题适合于(学过一年的初学者)

    9. **接口和抽象类**:了解接口与抽象类的区别,以及何时使用它们来设计系统。 10. **泛型**:泛型引入了类型安全,使得容器能够存储特定类型的对象。理解泛型的基本用法和限制是现代Java编程的必备知识。 11. **...

    java设计模式&java程序设计

    - **工厂模式:** 可以利用Java的接口和抽象类来定义产品接口,工厂类负责创建具体的产品实例。 - **DAO模式:** 使用Java的JDBC API或其他ORM框架(如Hibernate)来实现。 - **值对象模式:** 可以通过创建简单的Java...

    Java2游戏编程.pdf

    3.5 抽象类 3.6 类修饰符 3.7 接口 3.8 快捷地创建类 3.9 包 3.10 总结 3.11 练习 第4章 Java API为你服务:常用Java类 4.1 java.lang包 4.1.1 java.lang.Object 4.1.2 java.lang.String 4.1.3 java.lang....

    从入门到精通 java编程经典实例

    5. **多态**:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这是多态性的体现,Java通过接口和抽象类来实现多态。 6. **接口**:Java中的接口是一种完全抽象的类型,用来定义行为规范,多个类...

    Java系列 语法测试题第1套 答案

    9. **接口与抽象类**:理解接口的定义和实现,以及抽象类和接口之间的区别。 10. **文件与I/O流**:掌握File类的基本操作,了解输入/输出流(如FileInputStream和FileOutputStream)的使用,以及缓冲流...

    清华大学Java课程课件

    我们会学习类、对象的创建与使用,封装、继承、多态三大面向对象特性,以及接口和抽象类的区别和应用。这些知识点是理解和设计复杂软件系统的关键。 第7章和第9章可能涉及异常处理和并发编程。异常处理是程序错误...

    java基础思维导图.rar

    4. **面向对象**:对象的三大特性——封装、继承和多态,类与对象的概念,构造器,访问修饰符,接口,以及抽象类。 5. **数组与集合**:数组的创建、遍历,以及ArrayList、LinkedList、HashSet、HashMap等集合框架...

    疯狂java实战演义

    2. **面向对象编程**:Java作为一门面向对象的语言,书中会深入讨论类与对象的概念,封装、继承和多态等面向对象的三大特性,以及接口和抽象类的使用。 3. **异常处理**:Java的异常处理机制是其独特之处,书中有...

    JAVA思维导图9张!

    还会讲解接口、抽象类及其在Java中的应用。 3. **异常处理**:这部分可能会讲解如何使用try-catch-finally语句来捕获和处理异常,以及不同类型的异常类,如检查异常(Checked Exceptions)和运行时异常(Unchecked ...

    最好的JAVA入门电子书

    Java是一种纯面向对象的语言,理解类、对象、接口、抽象类等概念,以及如何通过它们来设计和实现软件,是成为熟练Java程序员的关键步骤。 最后,持续学习和更新知识同样重要。Java语言不断进化,新的版本如Java 8、...

Global site tag (gtag.js) - Google Analytics