- 浏览: 16567 次
- 性别:
- 来自: 广州
最新评论
面试题:请说说抽象类和接口的区别
抽象类,使用abstract关键字修饰的类为抽象类,一般来说,含有抽象方法的类就需要定义为抽象类,但是抽象类不一定都有抽象方法,比如,在GUI当中,对于事件处理提供了很多监听器口里里面方法都是抽象的,每次进行事件处理时,都需要实现监听器接口,哪怕只处理一个简单的动作,也需要实现接口所有的方法,这样很麻烦,而且显得代码很臃肿,Java提供了适配器,适配器就是自己实现了监听器接口,但是所有的方法都是空实现,以后再用到监听器时,我们可以继承适配器,实现我们需要的方法就可以了,这样就很方便。像这样的适配器只是给调用者提供一个方便,一定不希望别人直接创建实例来使用,所以有必要将它定义为abstract抽象的。
接口,接口是一种特殊的抽象类,接口中所有的方法都是抽象的,通常来讲,我们使用接口作为一种协议,起到各模块之间的衔接作用。由于Java中只支持单继承,不支持多继承,但是可以实现多个接口,原因在于接口中所有的方法都抽象,子类继承哪个都无所谓,我们让一个类实现多个接口,就可以做到将一个子类对象当做多种父类类型来使用,所以我认为定义接口就是为了更好地实现多态,因为多态就是把子类当做父类来用.
发表评论
-
javase_22(TCP的理解)
2012-09-02 19:43 647TCP传输 Socket(客户端)和ServerSocket( ... -
javase_21(DUp的学习-->*)
2012-08-30 00:45 727Socket网络编程 网络协议 IP地址与端口号 本 ... -
javase_20(Awt初步认识)
2012-08-27 01:00 1028多线程的再度复习.class package com.jav ... -
javase_19(多线程)
2012-08-24 23:32 875进程: 进程是具有一定独立功能的程序关于某个数据集合上的一次 ... -
javase_18(回顾与反射机制学习)
2012-08-20 11:58 462AM上午总结: package com.ja ... -
javase_17(IO的总结)
2012-08-20 11:55 1070所有的流在使用完毕时,都需要调用close方法进行关流,释放资 ... -
javase_16(其它流)
2012-08-20 11:52 911IO包中的其他流: 1.打印流 a)PrintWri ... -
javase_16(其它流)
2012-08-20 11:38 0IO包中的其他流: 1.打印流 a)PrintWri ... -
javase_15(File类的应用)
2012-08-19 00:07 901File类:用来将文件或者 ... -
javase_14(字节流)
2012-08-19 00:00 726字节流的抽象基类: InputStream(输入) ... -
javase_13(字符流)
2012-08-19 00:00 623IO(Input OutPut)流 IO流用来处理设备 ... -
javase_12(集合+时间对象)
2012-08-19 00:00 583Map集合 1.Map存储了一系列键值的映射关系2.M ... -
javase_11(集合的理解)
2012-08-19 00:00 888集合类: 为什么使 ... -
javase_10(String类日常操作)
2012-08-18 09:40 841第一: package com.ja ... -
javase_09(面向对象总结)
2012-08-18 09:39 916Java的环境配置 day01 1. 环 ... -
javase_07(继承与设计模式)
2012-08-18 09:36 646/* 子类对象的实 ... -
javase_06(面向对象)
2012-08-18 09:29 703/* 内部类: .在类中定义的类我们称之为内部类, ... -
javase_05(面向对象)
2012-08-16 11:25 0一.构造函数的定义与 ... -
javase_05(面向对象)
2012-08-16 11:22 829一.构造函数的定义与作用 1.函数的名次与类同名2.没有 ... -
javase_04(面向对象)
2012-08-16 11:21 559面向对象:一种编程思想,使用对象来描述生活中的事物:面向对象的 ...
相关推荐
JavaSE基础面试题涵盖了许多核心概念,以下是这些知识点的详细说明: 1. **面向对象的特征**:包括封装、继承和多态。封装是隐藏对象的属性和实现细节,仅对外提供公共访问方式;继承是子类继承父类的属性和方法,...
JAVASE基础面试题.xlsx
这份"JavaSE最基础面试题!(最新)"涵盖了100道基础知识点,旨在帮助开发者和求职者巩固和测试他们在Java语言上的基本理解。下面我们将深入探讨这些题目可能涵盖的一些关键知识点。 1. **Java语言特性**:包括面向...
JavaSE面试题大全是针对Java基础部分的面试准备资料,涵盖了广泛的Java基础知识,旨在帮助面试者应对各种技术问题。在Java SE(标准版)的面试中,常常涉及到以下几个关键知识点: 1. **类和对象**:Java是一种面向...
### Java基础面试题知识点解析 #### 一、面向对象与面向过程的区别 **面向过程**是一种传统的编程方式,强调按照顺序执行的过程。 - **优点**: - 性能较高,因为无需实例化对象,减少了内存占用和处理时间。 -...
JAVASE基础最常见的面试题以及面试时如何介绍自己的项目,少走弯路 一。重写与重载区别 二。throw 与 thorws 三。接口与抽象类区别 四。NullPointerException产生的场景 五。HashMap 与 HashTable区别 六。面试时...
Java 面试题全集 Java 面试题全集是 Java 开发者面试的必备知识,涵盖了 Java 语言的方方面面。本文将对 Java 面试题进行系统的总结和分析,从面向对象的基本概念到高级的设计模式和架构技术,涵盖了 Java 面试中...
NULL 博文链接:https://gaojingsong.iteye.com/blog/2386483
JavaSE,全称为Java Standard Edition,是Java编程语言的核心部分,用于开发桌面应用程序。这个压缩包文件包含了25套...在面试时,扎实的JavaSE基础能够展现出良好的编程素养和问题解决能力,从而增加成功的机会。
### Java面试题全集(上)JAVASE基础 #### 面向对象的特征有哪些方面? 面向对象编程(OOP)是现代软件开发的核心范式之一,它通过抽象、继承、封装和多态四大特性支持复杂系统的构建与管理。 1. **抽象**:抽象...
【大厂面试题总结】JavaSE面试题合集及其答案,基本包括javaSE所有知识点和详细解释 。 JavaSE面试题总结详细教程: 目录: 递归算法之输出某个目录下所有文件和子目录列表 泛型中extends和super的区别 内部类的理解...
JavaSE 面试题是 Java 语言的核心,涵盖了 Java 语言的基础知识点,包括变量、运算符、控制结构、方法、数组、String、面向对象编程等内容。下面是其中的一些关键知识点: 1. 变量和数据类型: 在 Java 中,变量是...
【大厂面试题总结】JavaSE面试题总结详细教程: 目录: 递归算法之输出某个目录下所有文件和子目录列表 泛型中extends和super的区别 内部类的理解 深入理解Java的反射机制 深入理解Java异常体系 谈谈NIO的理解 谈一...
字符串匹配、模式匹配(如KMP算法)和字符串反转等问题是常见的面试题。 九、位运算 位运算在处理二进制数据时非常高效,如快速求幂、判断数字奇偶性、查找最大公约数等。 以上就是“JavaSE基础算法题”所涵盖的...
java基础面试题2016版 javaEE,javaSE,框架,服务器 85页。
这里我们将深入探讨三道常见的Java面试题,它们涵盖了基础、并发和集合框架等方面,帮助你提升对Java源码的掌握。 1. **ArrayList与LinkedList的区别** - **ArrayList** 是基于动态数组的数据结构,它提供了随机...
JavaSE全套总结,温故而知新,生动形象
JavaSE面试题通常会涵盖以下几个方面: 1. **基础知识**:包括Java语法,如变量、数据类型、运算符、流程控制语句(if-else、switch、for、while等)、方法和数组。还会考察面向对象概念,如封装、继承、多态,以及...
【JavaSE 高级面试题】通常涉及到Java编程语言的核心概念、高级特性和最佳实践,这些题目旨在评估求职者对Java Standard Edition(JavaSE)的深入理解和应用能力。以下是一些可能出现在JavaSE高级面试中的知识点: ...