Android面试题(1),android面试题
1. Java语言基本数据类型有哪些?分别占用的内存空间是多少?
答: byte(1字节),boolean(1字节),char(2字节),short(2字节),int(4字节),float(4字节),long(8字节),double(8字节)。 |
2. &和&&的区别。
答: &:数值运算时为按位与运算,逻辑值运算时分别计算两个表达式的值,再作与运算; &&:逻辑与运算符,先计算第一个表达式的值,如果为true,那就计算第二个表达式的值,再作与运算,如果为false,不计算第二个表达式,直接返回false(常用)。
|
3. sleep() 和 wait() 有什么区别?
答: sleep 是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他 线程,但是监控状态依然保持,到时后会自动恢复。调用 sleep 不会释放对象锁。 wait是 Object 类的方法,对此对象调用 wait 方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出 notify方法(或 notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 |
4. Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
答: 方法的重写 Overriding 和重载 Overloading是 Java多态性的不同表现。重写 Overriding是父类与子类之间多态性的一种表现,重载 Overloading 是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数, 我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded 的方法是可以改变返回值的类型。
|
5. 给出一个数列2,5,12,56,70,8,使用冒泡排序法实现排序后输出。
答: public class SortDemo{ public static void main(String[] args){ int[] nums = {2,3,12,56,70,8}; for(int i=0;i<nums.length-1;i++){ for(int j=0;j<nums.length-i-1;j++){ if(nums[j]>nums{j+1}){ int temp = nums[j]; nums[j]=nums[j+1]; nums[j+1] = temp; } } } System.out.println(“排序后的结果为:”); for(int i=0;i<nums.length;i++){ System.out.print(nums[i]+” ”); } } } |
6. 写出Singleton模式的代码实现。
Singleton 模式主要作用是保证在 Java 应用程序中,一个类 Class 只有一个实例存在。 一般 Singleton 模式通常有几种种形式: 第一种形式: 定义一个类,它的构造函数为 private 的,它有一个 static的 private的该类变量,在类初始化时实例话,通过一个 public 的getInstance方法获取对它的引用,继而调用其中的方法。 public class Singleton { private Singleton(){} //在自己内部定义自己一个实例,是不是很奇怪? //注意这是 private 只供内部调用 private static Singleton instance = new Singleton(); //这里提供了一个供外部访问本 class 的静态方法,可以直接访问 public static Singleton getInstance() { return instance; } } 第二种形式
|