`
倾城一屁
  • 浏览: 74083 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java面试之抽象类和接口知识点

阅读更多
1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。

   2.在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是 static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。

   3.abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。

   4.实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法。接口中则不能有实现方法。

   5.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。

   6.抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值。

   7.接口中的方法默认都是 public,abstract 类型的。

   1、Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Java接口不可以,这大概就是Java抽象类唯一的优点吧,但这个优点非常有用。如果向一个抽象类里加入一个新的具体方法时,那么它所有的子类都一下子都得到了这个新方法,而Java接口做不到这一点,如果向一个 Java接口里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为你必须让每一个类都再实现这个方法才行,这显然是Java接口的缺点。

   2、一个抽象类的实现只能由这个抽象类的子类给出,也就是说,这个实现处在抽象类所定义出的继承的等级结构中,而由于Java语言的单继承性,所以抽象类作为类型定义工具的效能大打折扣。在这一点上,Java接口的优势就出来了,任何一个实现了一个Java接口所规定的方法的类都可以具有这个接口的类型,而一个类可以实现任意多个Java接口,从而这个类就有了多种类型。

   3、从第2点不难看出,Java接口是定义混合类型的理想工具,混合类表明一个类不仅仅具有某个主类型的行为,而且具有其他的次要行为。

   关于抽象类的补充:

  (1)普通的类也可以在class前加abstract声明为抽象,只不过此时的该类不再可以实例化了。www.Examda.CoM考试就到考试大

  (2)如果一个类里面有一个以上的抽象方法,则该类必须声明为抽象类。抽象方法是不可以有方法体的。

  (3)抽象类中可以有非抽象方法,非抽象的方法是(也必须)有方法体的。

  (4)抽象类中如果全部是抽象方法,那么抽象方法就是一个纯抽象类
分享到:
评论

相关推荐

    Java抽象类与模板设计模式相关知识点常考面试题源代码

    10.6.2解决之道-抽象类快速入门 10.6.3抽象类的介绍 10.6.4-5抽象类使用的注意事项和 细节讨论 10.6.6课堂练习题 10.7抽象类最佳实践-模板设计模式 10.7.1基本介绍 10.7.2模板设计模式能解决的问题 10.7.3最佳实践 ...

    JAVA面试题最全集

    掌握内部类和接口的概念 54.StringTokenizer类的使用 55.数据结构,如何遍历List中的元素? 如果要按照键值保存或者访问数据,使用什么数据结构? 要掌握Collection相关的接口和类的使用 56.使用StringBuffer类...

    java面试常用知识点.docx

    面向对象:类、继承、多态、包、接口、抽象类、泛型等 异常处理:try-catch-finally、异常分类及处理、自定义异常等 线程:线程创建、线程同步、线程池等 反射机制:Class、Field、Method、Constructor等 注解:...

    2023java面试题大全及答案大厂面试经典问题

    这份面试题,无论你是刚毕业还是几年的老司机,这些题都是面试必问的经典,简单的可以跳过,涵盖知识点比较全面。 包括基础的JavaSE内容(如类,对象,接口,继承,多态,封装,抽象以及更高级的一些概念,如组合、...

    java 面试题 总结

    接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类...

    corejava基础重要知识点总结

    类:一组类型相同事物高度抽象之后的集合概念 创建对象的模板 -》 class 对象:类的一个具体的实例 例子: 人和范冰冰之间的关系? 类和对象 HelloKitty和猫之间的关系? 对象和类 引用:对象的名字 *:一个...

    Java 面试中有关数据类型常见的 50 个面试题.pdf

    以上是 Java 面试中有关数据类型常见的 50 个面试题,涵盖了基本数据类型、引用数据类型、包装类、枚举类型、注解、正则表达式、日期和时间 API、泛型、异常、断言、多态、继承、接口、抽象类、内部类、lambda ...

    java核心知识点整理.pdf

    面试.................................................................................... 19 2.1. 线程 .....................................................................................................

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class) 30 【基础】一个".java"源文件中是否可以包含多个类(不是内部类)?有什么限制? 30 【基础】Anonymous Inner Class(匿名内部类)...

    AIC的Java课程1-6章

    第5 版 清华大学出版社  “SCJP学习指南” 人民邮电出版社  “Java 编程思想” 第3版 机械工业出版社  教学内容和要求 知识点 重要程度 使用频度 难度 Java 入门 高 中 易 变量和运算符 高 ...

    包含Java面试的各种知识点。过面试有这一个就够了

    1.7 接口和抽象类的区别是什么?(必会) 1.8 string 常用的方法有哪些?(了解) 1.9 什么是单例模式?有几种?(必会) 1.10 反射(了解) 1.11 jdk1.8 的新特性(高薪常问) 1.12 Java 的异常(必会) 1.13 BIO、...

    初学者面试宝典.docx

    java开发基本知识点整理,面试常用问题整理,WEB 前端基础,HTTP 状态消息,抽象类和接口,面向对象编程的原则,封装,继承和多态,字节流与字符流的区别,垃圾回收的优点和原理,什么是线程安全,同步和异步有什么...

    新版java教程 全套javase零基础到高级视频教程小白自学编程下载地址

    中级知识点 ,重点讲解Collection:集合框架体系List/Set/Map多种 实现和API ·玩转集合框架迭代器和HashCode和Equals重新排序 实战 ·实战teratori迭代器和自定义Comparable:排序接口 ·玩转ava操作文件File类常用...

    手写一个文件上传demo

    可以按照数据传输的方向,将流可分为输入流和输出流,它是java中相对比较重要的知识点,无论是考试、面试,还是实际工作过程中,这都是经常能够使用到的身影。希望各位看官们可以更好地了解流的相关知识。 输入流 ...

    JavaSE 五万字总结.pdf

    Java基础语法 类型转换 运算符 流程控制 循环 Random 数组 方法 方法重载 递归 二进制 类和对象 成员变量局和部变量 封装 构造方法 String 集合 继承 GIT 抽象类 多态 Java8 异常 泛型 Map File IO 多线程 线程池 ...

    Java基础 反射篇.md

    反射是一个非常重要的知识点,在学习Spring 框架时,Bean的初始化用到了反射,在破坏单例模式时也用到了反射,在获取标注的注解时也会用到反射······ 当然了,反射在日常开发中,我们没碰到过多少,至少我没...

    word源码java-AndroidInterview--QA:Android面试-QA

    熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。 欢迎一线公司员工提交内部面试题库,欢迎star。 ##目录 java 接口的意义-百度 规范、扩展、回调 抽象类的意义-乐视 为其子类提供一个公共的类型 封装...

    Java学习题答案

    abstract和non-static的 17 接口可以声明成final 18 内部类可以访问外层类的任何变量,包括私有的 19 匿名类可以有构造器,声明时候不能带参数 20 抽象方法可以是static的。 21 构造器没有任何返回类型...

    asp.net知识库

    技术基础 New Folder ...知识集锦:三分钟全面了解 Blog 和 RSS C#+ASP.NET开发基于Web的RSS阅读器 ASP.NET RSS Toolkit(RSS工具) Serialize Your Deck with Positron [XML Serialization, XSD, C#]...

Global site tag (gtag.js) - Google Analytics