java面试题复习(四)

31、内部类可以引用它的外部类的私有成员吗?

可以,内部类对象可以访问创建它的外部类对象的成员

32、final关键字有哪些用法?

修饰类时该类不能被继承,修饰方法时,该方法不能被重写,修饰变量时表示为常量

33、java创建对象时构造器调用顺序?

先初始化静态成员(只会初始化一次),然后调用父类构造器,再初始化非静态成员,最后调用自身构造器。

class A {

    static {

        System.out.print("Astatic");

    }

    public A() {

        System.out.print("A");

    }    }

class B extends A{

    static {

        System.out.print("Bstatic");

    }

    public B() {

        System.out.print("B");

    }    }

public class Hello {

    public static void main(String[] args) {

        A ab = new B();

        ab = new B();

    }    }

输出结果为AstaticBstaticABAB

34、如何实现字符串和基础数据类型的相互转换?

调用基本数据类型对应的包装类中的方法parseXXX(String)或valueOf(String)即可返回相应基本类型;调用String 类中的valueOf()方法返回相应字符串或使用基本数据类型与空字符串连接

35、使用递归实现字符串的反转

public static String reverse(String Str) {

      if(Str == null || Str.length() <= 1)

          return Str;

      return reverse(Str.substring(1)) + Str.charAt(0);

  }

36、将GB2312编码的字符串转换为ISO-8859-1编码的字符串?

String s1 = "wow";

String s2 = new String(s1.getBytes("GB2312"), "ISO-8859-1");

37、java和javaSciprt的区别

两个公司的不同产品;java是真正的面向对象的语言,即使是开发简单的程序,必须设计对象;JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象和事件驱动的编程语言,内置丰富的对象供人使用;java是静态语言js是动态语言;Java的源代码在执行之前,必须经过编译。JavaScript是一种解释性编程语言,其源代码不需经过编译,由浏览器解释执行;java是强类型语言即所有变量在编译之前必须作声明,js是弱类型语言;代码格式也不一样。

38、Error和Exception有什么区别?

Error表示系统级的错误和程序不必处理的异常,是指能恢复但很困难的情况下的一种严重问题;比如内存溢出,不可能指望程序能处理这样的情况;Exception表示需要捕捉或者需要程序进行处理的异常,是一种设计或实现问题;也就是说,它表示如果程序运行正常,从不会发生的情况。

39、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后?
会执行,在方法返回调用前执行

40、关键字:throws、throw、try、catch、finally分别如何使用?
try用来指定一块预防所有异常的程序;catch子句紧跟在try块后面,用来指定你想要捕获的异常的类型;throw语句用来明确地抛出一个异常;throws用来声明一个方法可能抛出的各种异常(当然声明异常时允许无病呻吟);finally为确保一段代码不管发生什么异常状况都要被执行;

 

 

我这些随笔是自己复习用的,有错轻喷。
原文地址:https://www.cnblogs.com/zhu-zhucai/p/8413708.html