java面试基础和经典总结

1会输出什么?

public class Parant {

       public void play(){

       system.out.println("Parant ");

}

}

class child extends Parant {

       public void play(){

       system.out.println("child ");

}

       public static void main (String []arg){

       Parant p=new child();

       p.play();

}

答案:输出child,实例子类对象然后赋给父类,在调用子父类共有的方法时,这时会显示子类方法内容。

 

2会输出什么?

Public Class simple{

public static void main (String []arg){

       int i=0,j=10;

       do{

           if(i++<--j){

              //测试System.out.println("i="+i+"j="+j);

              continue;

           }

       }while(i<5);

       System.out.println("i="+i+"j="+j);

    }

}

答案:i=5 j=5

 

3)找错

public Class simple {

  private int m;//1

  public static void abc(){

       system.out.println(m);//2

}

}

答案:2处错误,静态方法不能够访问外部的非静态变量。

 

4)下面代码是否正确?

public String add(String s){

              return s;

}

public void add(String s){

              return "";

}

 

答:错误,方法的重载要求方法名字相同,参数个数不同或者参数类型不同,与返回值类型相不相同无关。

 

5)下面代码正确吗?

int ar[]={1,2};

int num=ar.length();

答:错误,数组有length属性,Stringlength()方法。

 

6)判断题

public class Parant {

    public Parant(){

       System.out.println("Parant");

    }

    private void test(){

      

       System.out.println("abc");

    }

}

class child extends Parant {

    private child() {

       System.out.println("child");

       test();

    }

 

    private void test() {

 

       System.out.println("abc");

    }

 

    public static void main(String[] args) {

       new child();

    }

}

会输出:

child

abc

Parant

答:错,会输出Parantchild abc

 

7)这个代码合法么?

String s=null;

if(s.length()>0){

    System.out.println("hello");

}

答:不合法,会出现java.lang.NullPointerException异常。

 

8)选出下面的这种方式合法嚒?

final String s=null;s="abc";

答:不合法,正确的方式final String s;s="abc";

 

9)下面方法合法么?

Public static void test(){

Static String s;

}

答:不合法,静态变量只能声明为类变量,不能够在方法体中进行声明,它是和类关联的。

 

10)会打印出什么?

public static boolean  test() {

       try {

           return true;

       } catch (Exception e) {

           e.printStackTrace();

       }finally{

           return false;

       }

    }

 

    public static void main(String[] args) {

      

       System.out.println(test());

    }

答:打印出false

 

11)下面代码合法么?

interface b {

    private void t();

protected void t1();

 

}

答:不合法,接口里面只能有public或者friendly所修饰的方法。

 

12)下面代码合法么?会输出什么?

public class test extends a implements b,c {

 

    public void t() {

       System.out.println("test");

    }

    public static void main(String[] args) {

       test t=new test();

       t.t();

    }

   

}

class a {

    private void t() {

System.out.println("a");

    }

}

interface b {

     void t();

}

interface c {

     void t();

}

答:合法,会输出test

 

13)会输出什么?

public class test {

    public static void main(String[] args) {

       test t=new test();

       System.out.println(t.addOne(10));

    }

    public int addOne(int x) {

        return ++x;

    }

}

答:输出11

 

14)下面的方法是正确的方法重载么?

public void t() {}

public void t() throws Exception {}

答:错误

 

15)下面代码会输出什么?

public static void main(String[] args) {
  System.out.println(7&4);
 }

答案:4

 

这是我在面试当中遇到的一些java笔试题,有些是自己的根据题意设计的题目,感觉比较经典,所以共享出来给大家分享。

你可能感兴趣的:(java,C++,c,面试,J#)