首页 > 编程语言 > 详细

java面试题之第二回

时间:2016-11-24 08:12:00      阅读:235      评论:0      收藏:0      [点我收藏+]

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);
}

答:正则表达式中.代表任意字符

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面试题之第二回

原文:http://www.cnblogs.com/ckui/p/5998813.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!