面试题

1).public void add(int a,String b){

}

请分别解释public ,void ,add ,int a ,String b是什么意思.

 

 

2).分别以两种方式初始化一个静态的String类型数组.

 

         int a[] ; 

         a = new int[3] ; 

         a[0] = 0 ; 

         a[1] = 1 ; 

                 a[2] = 2 ; 

  

        //静态初始化数组:方法一 

        String cats[] = new String[] { 

                "Tom","Sam","Mimi" 

        }; 

         

        //静态初始化数组:方法二 

             String dogs[] = {"Jimmy","Gougou","Doggy"}; 

 

 

3).如要初始化int a=3;如何从控制台如何输入、并输出a的值,尝试写出关键代码或者关键方法名.

 

 

 

4).读程序,写出下面程序的运行结果.

String str1 = "hello";

String str2 = "he" + new String("llo");

System.out.println(str1 == str2);

 

 

5).分析下面程序,写出?的值

String []a = new String[10];

则:a[0]~a[9]=?

a.length=?

如果是int []a = new int[10];

则:a[0]~a[9]=?

length=?

 

 

 

6).简述abstract和interface的区别在哪?

public abstract class 车

{

  public int 轮子;

  public abstract void 移动();

}

这个抽象类就声明了所有的车应有的特征(如轮子)和行为(如移动)。之后你就可以扩展(extend)这个抽象类,只要是车,就可以,还有你可以在子类(subclass)中加入自己的特征,如

public class 跑车 extends 车

 {

  public void 移动()

  {

    System.out.println("我在移动");

  }  

  public void 引擎类型()  //属于自己(跑车)的行为

  {

    System.out.println("高级引擎");

  }

  轮子=4;

 }

 public class 自行车 extends 车

 {

  public void 移动()

  {

    System.out.println("我在移动");

  }  

  public void 爆胎()  //属于自己(自行车)的行为

  {

    System.out.println("我走不动了");

  }

  轮子=2;

 }

Interface 则用来定义一个协议,所有的方法都可以实现它。一个Interface定义了方法,和最终静态(final static)变量,所有实现这个Interface的都要保证实现的东西与这个Interface 定义的行为一致。使用Interface可以让Object(对象)在一定的规范下沟通。

public interface TCP协议

{

 public void 打开端口();

 public void 关闭端口();

}

这样的话,只要实现这个Interface的都可以使用这两个方法交流。

在 Java平台里,它们主要有3个不同点:

1。一个类(Class)只能继承一个超类(Super class),但是可以实现多个Interface。

2。在Abstract Class内,你可以有不抽象(Abstract)的方法,即有意义的方法,但Interface不行。

 如

 public abstract class 车

 {

  public int 轮子;

  public abstract void 移动();

  public String 我是什么()

  {

    return "车子";

  }

 }

 

7).简述extends和implements关键字有何区别?

 

Interface不属于 继承范围。即不可能成为超类(Super Class)

子类通过extends关键字来继承抽象类(且只能继承一个);

   类通过implements关键字来实现接口(可以实现多个)。

 

 

8).InputStream(输入)/OutputStream(输出)和Reader(输入)/Writer(输出)哪个是字节流、哪个是字符流?哪个可以存储图片信息?

InputStream(输入)/OutputStream(输出)为后缀的是字节流;

 

          以Reader(输入)/Writer(输出)为后缀的是字符流。

 

9).下面代码的运行结果为:()

import java.io.*;

import java.util.*;

 

public class foo{

public static void main (String[] args){

 

        String s;

 

        System.out.println("s=" + s);

 

}

 

}

A 代码得到编译,并输出“s=”

 

B 代码得到编译,并输出“s=null”

 

C 由于String s没有初始化,代码不能编译通过

 

D 代码得到编译,但捕获到 NullPointException异常

答案:C

 

解析:开始以为会输出null什么的,运行后才发现Java中所有定义的基本类型或对象都必须初始化才能输出值。

 

10). System.out.println("5" + 2);的输出结果应该是()。

A.52                   B.7                     C.2                     D.5

 

 

11).输出程序的打印结果

public class Example {

 

    String str = new String("good");

 

    char[] ch = { 'a', 'b', 'c' };

 

    public static void main(String args[]) {

 

        Example ex = new Example();

 

        ex.change(ex.str, ex.ch);

 

        System.out.print(ex.str + " and ");

 

        System.out.println(ex.ch);

        System.out.println(ex.str + "  and  " +ex.ch);

    }

 

    public void change(String str, char ch[]) {

 

        str = "test ok";

 

        ch[0] = 'g';

 

    }

}

打印good and gbc

good  and  [C@1e57e8f

 

12).改错题

public class Something {

    void doSomething () {

        private String s = "";

        int l = s.length();

        }

    } 

有错吗?  答案: 错。局部变量前不能放置任何访问修饰符 (private,public,和protected)。final可以用来修饰局部变量  (final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)

 

13). 输出程序的打印结果

 

public class FatherClass {

    public FatherClass() {

        System.out.println("FatherClass Create"); 

        } 

    } 

 

 

    public class ChildClass extends FatherClass { 

        public ChildClass() {  

            System.out.println("ChildClass Create"); 

            }  

        public static void main(String[] args) { 

            FatherClass fc = new FatherClass(); 

            ChildClass cc = new ChildClass(); 

            } 

 

输出结果:  FatherClass Create  FatherClass Create  ChildClass Create   

posted on 2016-10-09 16:47  小豫  阅读(209)  评论(0)    收藏  举报

导航