现做一个总结:
1,修饰符作用域
四个修饰符(public, protected, friendly, private),四个作用域(class, package, sub-classes, other packages),画成图,发现规律自然就记住。有些东西,死记硬背往往是灵活变通的前提。
public Y Y Y Y
protected Y Y Y N
friendly(默认) Y Y N N
private Y N N N
2,接口和抽象类。
抽象类:抽象类不能创建实例对象,不允许有抽象构造方法或抽象静态方法,其抽象方法必须由其子类去实现或部分实现。
接口:接口可以说成是抽象类的一种特例。其所有方法都必须且默认是抽象的,其成员变量默认是public static final。
记住一句话:一个类可以实现多个接口,但只能继承一个抽象类。
基于这句话,就能更好的理解两者在应用上的区别,就是为什么要有接口,为什么要有抽象类。
有接口这个东西,就是基于系统类(架构)设计上的考虑。系统通常要设计多个模块,多个模块之间的耦合关系通常需要接口来联系,达到“组装”的目的。良好的接口可以达到模块间“松耦合”。所以类实现多个接口,也正是基于这个考虑。此外,定义一个接口让不同类去实现,则是出于扩展性的考虑。
而换一个角度考虑以上问题,出现抽象类,主要是从代码重用和设计模式上出发,依靠这个抽象基类去处理一些在应用上靠“底层”的共通业务逻辑。比如A,B,C都要完成(注意,是“完成”)名为W的一个判断逻辑,这时就定义一个抽象基类X去完成W,再让ABC去extends X; ABC在完成X之后,通常还有一些自己的业务逻辑要做,这时在ABC各自代码中只关注各自的事即可。X和ABC的行为,实际上就是设计模式中的模板模式。
分享到:
相关推荐
### Java SE面试题详解 #### 一、运行时异常与非运行时...综上所述,Java SE面试题涉及的知识点涵盖了Java的基本概念、异常处理、数据结构、线程同步等多个方面,掌握这些知识点对于深入理解Java编程语言至关重要。
指南中对Java所涉及的数据结构进行了分类讲解,如线性表、链表、栈、队列、图和树等,并且分析了每种数据结构的特性和应用场景,帮助开发者在面试中展示对数据组织和管理的深刻理解。 类与对象的关系是Java编程中的...
在Java面试中,面试官通常会考察应聘者对Java SE(标准版)和Java EE(企业版)的理解与应用能力。Java SE是Java的基础,包含了核心的语法、数据结构、I/O、多线程和网络编程等内容,而Java EE则是在Java SE的基础上...
Java的主要应用场景包括Web应用开发、移动应用(尤其是Android平台)、企业级应用、大数据处理、云计算服务、游戏开发、物联网(IoT)设备等。 Java有不同的版本,主要包括Java Standard Edition (Java SE)、...
以上是近五年Java面试中涉及的一些核心知识点的详细介绍。这些知识点覆盖了Java编程的基础到高级层面,对于准备Java面试的候选人来说是非常有价值的复习资料。希望这些内容能够帮助读者更好地准备面试,同时也为面试...
- **静态块**:在 JVM 加载完类后立即执行静态块中的代码。 #### 十一、final 关键字 - **修饰类**:此类不可被继承。 - **修饰方法**:此方法不可被子类重写。 - **修饰变量**:此变量不可被再次赋值,常用来定义...
Java中的异常处理主要包括两大类:**运行时异常**和**非运行时异常**。 - **运行时异常**:通常是由程序错误导致的异常,如数组下标越界、空指针异常等,这些异常在编译时不被强制要求捕获或声明抛出。 - **非运行...
以上内容是"适合应届生的java面试题集"可能涉及的部分知识点,深入理解和熟练运用这些知识,将大大提高应届毕业生在Java面试中的表现,为他们的职业生涯打下坚实的基础。在实际学习过程中,除了理论知识,还需要通过...
从文档的标题、描述和标签可以看出,本文档主要涉及Java标准版(Java SE)的基础知识点,包括变量、条件控制语句(if、switch)、循环结构(while、for、do_while)、数组和集合的使用,以及面向对象编程中封装、...
2. **类库与API**:Java Standard Edition (SE) 提供了大量的内置类库,例如Math类、String类、Collections类等,熟练掌握它们可以极大地提高开发效率。此外,熟悉Java Development Kit (JDK) 中的API文档也是必备...
本资料集“Java笔试面试经典”旨在帮助求职者准备Java相关的笔试和面试,涵盖了Java的基础知识、进阶概念以及各大公司的常见试题。 一、Java基础 Java的基础知识包括语法、数据类型、控制结构、类与对象等。理解...
finally用于确保代码块中的语句一定会被执行,通常用于资源清理;finalize是对象被垃圾收集器回收前调用的方法,但其执行时机不确定,不建议依赖它进行资源释放。 17. **Overload 和 Override**:Overload(重载)...
这些知识点是Java SE面试的常见主题,深入理解和掌握将极大地提升你的Java技能,并在面试中表现出色。通过练习和解析提供的文档,如"JAVA1到3章习题及答案.doc"、"JAVA4到6章习题及答案.doc"和"JAVA继承_接口_抽象类...
为了帮助求职者更好地准备Java相关的面试,以下是一些重要的Java知识点,涵盖了Java SE(标准版)和Java EE(企业版)的核心概念,以及与Struts、Hibernate、Spring这三大主流框架相关的面试问题。 1. **Java基础...
面试中,JavaSE的相关问题通常涵盖语言基础、数据类型、内存管理、集合框架、多线程、异常处理等多个方面。以下是对这些关键知识点的详细解释: ### 第一章 初识 Java 1. **Java跨平台原理**:Java程序通过编译成...
### Java面试问题详解 #### 1. J2EE是什么? J2EE(Java 2 Platform, Enterprise Edition)是Sun Microsystems(现已被Oracle收购)推出的一个企业级应用平台标准。它基于Java SE,提供了构建分布式系统所需的组件...
Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和丰富的...通过掌握这些核心概念,你将在Java面试中展现出扎实的基础,并能灵活应对各种问题。持续实践和学习新的API及设计模式将不断提升你的编程技能。
以上只是Java面试中可能会涉及的一部分关键知识点,实际面试还会根据应聘者的经验和岗位要求,涵盖更多高级主题,如JMS(Java消息服务)、分布式缓存、大数据处理、云计算技术等。因此,持续学习和实践是成为一名...