Java程序员经典面试题集大全(八)

36、使用递归算法输出某个目录下所有文件和子目录列表

package com.bjsxt;

import java.io.File;

public class $ {
    public static void main(String[] args) {
        String path = "D:/301SXT";
        test(path);
    }
    private static void test(String path) {
        File f = new File(path);
        File[] fs = f.listFiles();
        if (fs == null) {
            return;
        }
        for (File file : fs) {
            if (file.isFile()) {
                System.out.println(file.getPath());
            } else {
                test(file.getPath());
            }
        }
    }
}

37、关于Java编译,下面哪一个正确()(选择一项)

A、Java程序经编译后产生machine code

B、Java程序经编译后会生产byte code

C、Java程序经编译后会产生DLL

D、以上都不正确

答案:B

分析: Java是解释型语言,编译出来的是字节码; 因此A不正确,

C是C/C++语言编译动态链接库的文件为.DLL; 正确答案为B

38、下列说法正确的有()(选择一项)

A、class中的construtor不可省略

B、construtor与class同名,但方法不能与class同名

C、construtor在一个对象被new时执行

D、一个class只能定义一个construtor

答案:C

分析:

  • A:如果class中的construtor省略不写,系统会默认提供一个无参构造
  • B:方法名可以与类名同名,只是不符合命名规范
  • D:一个class中可以定义N多个construtor,这些construtor构成构造方法的重载

39、Java中接口的修饰符可以为()(选择一项)

A、private

B、protected

C、final

D、abstract

答案:D

分析:

  • 接口中的访问权限修饰符只可以是public或default
  • 接口中的所有的方法必须要实现类实现,所以不能使用final
  • 接口中所有的方法默认都是abstract的,所以接口可以使用abstract修饰,但通常abstract可以省略不写

40、给定以下代码,程序将输出()(选择一项)

class A {
    public A(){
        System.out.println("A");
    }
}

class B extends A{
    public B(){
        System.out.println("B");
    }
    public static void main(String[] args) {
        B b=new B();
    }
}

A、不能通过编译

B、通过编译,输出AB

C、通过编译,输出B

D、通过编译,输出A

答案:B

分析:在继承关系下,创建子类对象,先执行父类的构造方法,再执行子类的构造方法。


Java基础不扎实的同学,再好好学一下哦~

Java基础入门全套教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值