Java面试:Singleton模式与继承执行顺序解析

需积分: 9 6 下载量 200 浏览量 更新于2024-07-31 收藏 83KB DOC 举报
"Java面试中的代码与编程题主要考察应聘者的编程基础和设计模式理解,如Singleton模式的应用。 Singleton模式是一种常用的创建型设计模式,它的核心目标是确保类只有一个实例,并提供一个全局访问点。面试中, Singleton模式的实现方式常常成为考察点,常见的有几种形式:" Singleton模式的实现有很多种,第一种是"饿汉式",在类加载时就完成了实例化,线程安全,但可能导致资源浪费。代码如下: ```java public class Singleton { private Singleton() {} private static Singleton instance = new Singleton(); public static Singleton getInstance() { return instance; } } ``` 第二种是"懒汉式",也称为同步方法,首次调用时才实例化,避免了无谓的同步开销,但每次获取实例都需要同步,可能影响性能。代码如下: ```java public class Singleton { private static Singleton instance = null; public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } ``` 对于继承问题,Java中子类构造函数会先调用父类的构造函数。如果父类有无参构造器,那么默认会调用;如果有参构造器,需要在子类构造器中显式调用。因此,当执行子类的构造函数时,首先会执行父类的构造函数,然后执行子类自身的构造代码。例如: ```java public class FatherClass { public FatherClass() { System.out.println("FatherClassCreate"); } } public class ChildClass extends FatherClass { public ChildClass() { System.out.println("ChildClassCreate"); } } ``` 在这种情况下,输出将是 "FatherClassCreate" 先打印,然后是 "ChildClassCreate"。 面试中,这类问题通常会以选择题的形式出现,考察对构造器执行顺序的理解。正确理解这些基本概念对于Java程序员来说至关重要,因为它们涉及到多线程环境下的正确性和性能优化。在实际开发中,Singleton模式常用于配置中心、缓存管理等场景,而构造器的执行顺序则直接影响到类的初始化逻辑。
2012-07-18 上传
最常见的Java面试题大全的程序面试程序,很有影响力的哦!好好珍惜这个资料吧!有Java的常见面试题的冒泡,常见的算法,继承,多态 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承:  继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装:  封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性:  多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。