java基础必问的面试题(二)

1.ArrayList和LinkedList的区别?

 ArrayList经常使用于查询,查询效率高     
 LinkedList经常用于增删改,增删改效率高

2.什么是集合?

 1.集合有两个父接口:Collection,Map   
 2.Collection有两个子接口:List,Set  
 3.List有两个常见的实现类:ArrayList,LinkedList   
 4.Set有两个常见的实现类(或接口):HashSet,TreeSet  
 5.Map有两个常见的实现类:HashMap,HashTable

3.IO流的种类有哪些?

(1)按流向分:   1.输出流(基类:OutputStream,Writer)   
               2.输入流(基类:InputStream,Reader)
(2)按照数据单元划分:   1.字节流(字节输入流-基类:InputStream)  (字节输出流-基类:OutputStream)   
                      2.字符流(字符输入流-基类:Reader) (字符输出流-基类:Writer)

4.手写日类工具方法 字符串类型转时间类型

Date nowTimeDate = null;
String nowTime = "2011-12-13 8:54:34";		
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");		
try {	
	nowTimeDate = sdf.parse(nowTime);			     
	System.out.println(nowTimeDate);		
} catch (ParseException e) {
	e.printStackTrace();	
}

5.手写日类工具方法 时间类型转字符串类型

Date dateNow = new Date();//获取当前系统的时间		
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");		
String nowTimeStr = sdf.format(dateNow);		
System.out.println(nowTimeStr);

6.遍历Map<String,Map<String,Object>>

public static void main(String[] args) {
		Map<String, Map<String, Object>> map = new HashMap<String, Map<String, Object>>();		
		Map<String,Object> map1 = new HashMap<String,Object>();		
		map1.put("a", "1");		
		map1.put("b", "2");		
		map1.put("c", "3");		
		Map<String,Object> map2 = new HashMap<String,Object>();		
		map2.put("d", "12");		
		map2.put("k", "23");		
		map2.put("d", "34");		
		Map<String,Object> map3 = new HashMap<String,Object>();		
		map3.put("h", "15");		
		map3.put("f", "42");		
		map3.put("d", "33");				
		map.put("1", map1);		
		map.put("2", map2);		
		map.put("3", map3);		
		System.out.println(map);		
		Set<String> sets = map.keySet();		
		for(String s : sets){			
			System.out.println("key:"+s);			
			Map<String, Object> mm = map.get(s);			
			Set<String> setss = mm.keySet();			
			for(String sss :setss){			
				System.out.print("key:"+sss + " value:"+mm.get(sss)+"  ");			
			}			
			System.out.println("");	
		}
	}

7.Iterator是什么

Iterator接口提供遍历任何Collection的接口。我们可以从一个Collection中使用迭代 器方法来获
取迭代器实例。迭代器取代了Java集合框架中的Enumeration。迭代器允许调用 者在迭代过程
中移除元素。

8.抽象类的特点?

1. 抽象方法和抽象类都必须被abstract关键字修饰。
2. 抽象方法一定在抽象类中。
3. 抽象类不可以用new 创建和实例化对象。因为抽象类本身就是不完整的。
4. 抽象类中的抽象方法要被使用,必须由子类复写所有的抽象方法后,建立子类对象调用。

9.接口的特点?

1. 接口不可实例化,可结合多态进行使用(接口 对象=new 对象())
2. 接口里的成员属性全部是以 public(公开)、static(静态)、final(最终) 修饰符修饰 
3. 接口里的成员方法全部是以 public(公开)、abstract(抽象) 修饰符修饰 
4. 接口里不能包含普通方法
5. 子类继承接口必须实现接口里的所有成员方法,除非子类也是抽象类

10.抽象类和接口的区别?

抽象类:是一个不能被实例化的类,因为它其中存在抽象方法,但它的其它行为和一个普通 类
没什么不同。 接口:是java为了弥补不能多继承提供的概念,接口之间支持多继承,接口中只
允许存在公 有静态常量或公有的抽象方法,一个类可实现多个接口,从而扩展不同的功能。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些常见的Java基础面试题: 1. Java中的四种访问修饰符是什么? 答:public、protected、private、default。 2. Java中的final关键字有什么用途? 答:final关键字可以修饰类、方法和变量。当修饰类时,表示该类不能被继承;当修饰方法时,表示该方法不能被重写;当修饰变量时,表示该变量的值只能被赋值一次。 3. Java中的static关键字有什么用途? 答:static关键字可以修饰类、方法和变量。当修饰类时,表示该类是静态类,不能创建实例对象;当修饰方法时,表示该方法是静态方法,可以直接通过类名调用;当修饰变量时,表示该变量是静态变量,所有对象共享。 4. Java中的抽象类和接口有什么区别? 答:抽象类和接口都不能被实例化,只能被继承或实现。抽象类可以包含构造方法,而接口不可以;抽象类可以包含普通方法的实现,而接口只能包含方法的声明;类可以实现多个接口,但只能继承一个抽象类。 5. 什么是Java中的多态性? 答:多态性是指同一个方法可以在不同的对象上产生不同的结果。Java中的多态性分为编译时多态性和运行时多态性。编译时多态性是指方法的重载,即同一个类中可以有多个方法名相同但参数列表不同的方法;运行时多态性是指方法的重写,即子类可以重写(覆盖)父类的方法。 以上是一些常见的Java基础面试题,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值