java基础面试题

public static void main (String args [ ] ) { 
        Father p = new Son(2);//java 转型问题其实并不复杂,只要记住一句话:父类引用指向子类对象。
        p.test();// 执行的是son的test方法
    }

 class Father {    	
        public void test() {
	 System.out.println("father---test()");
	}
    }
	
 class Son extends Father {
	public Son(int a) {
	    System.out.println("son---|");
	}
	public void ff() {
	    System.out.println("son--ff-|");
	}
    }
}


问:hashmap和hashtable区别?

答:1.hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。
2.hashTable同步的,而HashMap是非同步的,效率上比hashTable要高。
3.hashMap允许空键值,而hashTable不允许。


成员内部类的优点:
(1)内部类作为外部类的成员,可以访问外部类的私有成员或属性。(即使将外部类声明为PRIVATE,但是对于处于其内部的内部类还是可见的。)敝人认为 可以访问外部类的私有方法、成员是匿名内部类的最牛B的地方;

(2)用内部类定义在外部类中不可访问的属性。这样就在外部类中实现了比外部类的private还要小的访问权限。
注意:内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类。对于一个名为outer的外部类和其内部定义的名为inner的内部类。编译完成后出现outer.class和outer$inner.class两类。

(3)其代码更加简洁,紧凑,但是易读性下降。




你可能感兴趣的:(java基础面试题)