標籤:初始化 span import imp tao 介面 list java面試題 列印
1、如下代碼的輸出是
package test;import java.util.Date; public class SuperTest extends Date{ private static final long serialVersionUID = 1L; private void test(){ System.out.println(super.getClass().getName()); } public static void main(String[]args){ new SuperTest().test(); } }
答:test.SuperTest
Object裡的getClass(),它是final修飾的,不可被重寫。所以調用的是Object中的方法。返回此 Object 的運行時類。返回的 Class 對象是由所表示類的 static synchronized 方法鎖定的對象。 也就是當前類。Class.getName() 以 String 的形式返回此 Class 對象所表示的實體(類、介面、數組類、基本類型或 void)名稱。
如果要得到父類的name,則super.getClass().getSuperclass().getName()
2、ArrayList list = new ArrayList(20);中的list擴充幾次
答:0次 初始化時就指定了空間大小,會直接建立。如果沒有指定,ArrayList list = new ArrayList();每次擴容會增加1.5倍加1
3、有如下一段代碼,其運行結果是
public class StringDemo{ private static final String MESSAGE="taobao"; public static void main(String [] args) { String a ="tao"+"bao"; String b="tao"; String c="bao"; System.out.println(a==MESSAGE); System.out.println((b+c)==MESSAGE); }}
答: true false
4、以下代碼將列印出
public static void main (String[] args) { String classFile = "com. jd. ". replaceA11(".", "/") + "MyClass.class"; System.out.println(classFile);}
答:Regex中.代表任一字元
5、觀察以下代碼輸出是:
class Car extends Vehicle{ public static void main (String[] args) { new Car(). run(); } private final void run() { System. out. println ("Car"); }}class Vehicle{ private final void run() { System. out. println("Vehicle"); }}
答:car 父類方法有private修飾,對於子類不可見。所以和子類中的方法是兩個方法
java面試題之第二回