java面試錄音_Java面试(一)

2 什么是java虚拟机: 可以执行java字节码的虚拟机进程,而不需要为每一个平台单独重写或重新编译。虚拟机知道底层指令长度。

3 JDK,JRE区别:

JRE是Java虚拟机,可以解释JAVA字节码,形成及其语言。

JDK是完整的开发包,包含JRE,可以开发,编译,执行Java。

JRE用于运行;JDK用于开发。

4 Static作用?

类中的static方法,只能调用static方法,访问static数据,不能引用this, super, 类可以直接调用。

静态变量:属于类的。

静态类:通常一个普通类不能声明为静态的,只有内部类才可以。

static和final一起用:全局常量。修饰变量的话:不可以修改; 修饰方法的话:不可以覆盖。

static代码:当Java虚拟机加载类时,就会执行该代码。

静态导包:import static com... ...ClassName.*; 导入这个类中的静态方法。这样,就可以在这个类中,直接用方法名调用静态方法,而不必用ClassName.方法名 的方式来调用。这样,System.out.println()就可以用println()代替。这种方法建议在有很多重复调用的时候使用,如果仅仅用1,2次,就没有必要。

5 子类static函数,构造函数;父类的static函数,构造函数执行顺序

类实例化过程:

A: 首先执行static代码块(无论是开头还是结尾),如果这个类有父类,同样会优先查找父类中的static块。

注意:即使代码中没有用到这个类,也会加载类的,执行static代码块

(下面从B开始的步骤,是当生成子类的对象时会执行的顺序。)

B: 从父类第一个行开始,依次执行非静态代码,按照顺序执行(一般是在构造函数之前做一些处理)。

C: 父类的构造函数。

D: 从子类第一个行开始,依次执行非静态代码,按照顺序执行(一般是在构造函数之前做一些处理)。

E: 子类的构造函数。

F: 最后是类方法的调用执行,如果子类可以覆盖父类的方法,执行时会先执行子类的方法,如果子类有super.method(),才会调用父类的。

6 静态内部类:只能访问外部类的静态成员。生成一个静态内部类不需要外部类实例,静态内部类的对象可以直接生成;

Outer.Inner in = new Outer.inner(), 不需要通过生成外部类对象来生成。

7 Java是否可以覆盖(override)一个private或者static方法?

不可以

8 Java支持的数据类型有哪些?  什么是自动拆箱,装箱?

Byte, Char, Short, Int(Interger), Long, double(Double), Bollean, float

9 override(覆盖) VS  overload(重载)

覆盖:参数列表必须完全与被重写的方法相同。返回的类型必须一致。

访问修饰符大于被覆盖的方法(比如有个P->fun(),覆盖完这个代码还可以work)。

不能抛出新的检查异常或比覆盖方法更加宽泛的检查类型。但是可以抛出非检查异常(这个是为了保证已经存 在的try-catch仍然可以work)。

重载:必须具有不同的参数列表,返回值可以不同。可以有不同的访问修饰符,可以抛出不同的异常。

10 Java支持多继承?多实现?

不支持多继承,但是可以实现多个接口。

11 接口可以继承接口吗? 如果可以请列举一个例子

可以。  List接口继承自Collection接口。

12 接口 VS 抽象类

类只能继承一个类(抽象类,侧重是什么,只能一个),但是可以实现多个接口(接口侧重行为)

接口是抽象类的变体,接口中所有的方法都是抽象的。

接口可以多继承,抽象类不可以。

接口定义方法,但不实现;而抽象类可以实现一些方法。

接口中基本数据类型是static的,而抽象类不是。

Java接口中声明的变量都是final,抽象类可以包含非final的。

13 接口中定义的变量必须为public static final 的原因

接口是一种高度抽象的模板,接口中的属性也是模板的成员,就应当是所有实现“模板”的实现类的共有特性,所以是public static.假如不是static的,因一个类可以继承多个接口,出现重名都变量,如何区分?

接口是一种规范,功能的定义,所有可变的东西都应该归属到实现类中,这样接口才能起到标准化,规范化的作用。所以接口中的属性必然是final的。

14  值传递和引用传递?

“java中参数传递都是按值传递”:意思是,按照值传递都是值的拷贝;按引用传递的是引用的地址值,所以统称按照值传递。

“java里只有基本类型和按照这种方式定义的String(String str = “fs”),是按照值传递”,其余的都是按照引用传递。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值