首页 > 代码库 > java面试题之第二回
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); }
答:正则表达式中.代表任意字符
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面试题之第二回
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。