java面试题之代码与编程题
Java面试题之代码与编程题 在这篇文章中,我们将讨论Java面试题中的一些代码与编程题,涵盖Singleton模式、继承时类的执行顺序问题、内部类的实现方式等几个方面。 Singleton模式 Singleton模式是一种常用的设计模式,主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。一般Singleton模式通常有几种种形式,以下是其中两种: 第一种形式: ```java public class Singleton { private Singleton() {} private static Singleton instance = new Singleton(); public static Singleton getInstance() { return instance; } } ``` 这种形式定义了一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。 第二种形式: ```java public class Singleton { private static Singleton instance = null; public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } ``` 这种形式也定义了一个类,它的构造函数为private的,但是它的getInstance方法使用同步机制,保证了线程安全,并且只有第一次调用时生成实例,提高了效率。 继承时类的执行顺序问题 在Java中,继承时类的执行顺序问题是一个经典的面试题。一般来说,这类题目都会问你将会打印出什么?例如: ```java package test; public class FatherClass { public FatherClass() { System.out.println("FatherClass Create"); } } package test; import test.FatherClass; public class ChildClass extends FatherClass { public ChildClass() { System.out.println("ChildClass Create"); } public static void main(String[] args) { FatherClass fc = new FatherClass(); ChildClass cc = new ChildClass(); } } ``` 输出结果: ``` C:\>java test.ChildClass FatherClass Create FatherClass Create ChildClass Create ``` 内部类的实现方式 内部类是Java中的一种特殊的类定义方式,以下是一个简单的示例代码: ```java package test; public class OuterClass { private class InterClass { public InterClass() { System.out.println("InterClass Create"); } } public OuterClass() { InterClass ic = new InterClass(); System.out.println("OuterClass Create"); } public static void main(String[] args) { OuterClass oc = new OuterClass(); } } ``` 输出结果: ``` C:\>java test/OuterClass InterClass Create OuterClass Create ``` 此外,还有一个例题: ```java public class OuterClass { private double d1 = 1.0; // insert code here } ``` 我们需要在这里插入一个内部类声明,这里有两个正确的内部类声明方法: ```java A. class InnerOne { public static double methoda() { return d1; } } ``` 或 ```java B. class InnerTwo { public double methodb() { return d1; } } ``` 这些代码与编程题涵盖了Java面试题中的一些重要知识点,希望对读者有所帮助。
剩余21页未读,继续阅读
- 粉丝: 9
- 资源: 21
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助