1.import java 和 javax有什么区别?

刚开始的时候JavaAPI所必需的包是java开头的包,javax当时只是扩展API包来使用。然而随着时间

推移,javax包移动到java包太麻烦了,最终会破坏一堆现有的代码。因此,最终javax包将成为标准

API的一部分。所以,实际上java和javax没有区别。

2.接口和抽象类的区别是什么?

  1. 接口的方法默认是public,所有方法在接口中不能有实现(Java8后接口方法可以有默认实现)抽象类可以有非抽象的方法
  2. 接口中的实例变量默认是final类型的,而抽象类中不一定
  3. 一个类可以实现多个接口,但最多只能实现一个抽象类
  4. 一个类实现接口的话要实现接口的所有方法,而抽象类不一定
  5. 接口不能用new实例化,但是可以声明,但是必须引用一个实现该接口的对象,从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。

3.成员变量与局部变量的区别有哪些?

1. 从语法形式上,成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数;

成员变量可以被public,private,static等修饰符锁修饰,而局部变量不能被访问控制修饰符及

static所修饰;但是,成员变量和局部变量都能被final所修饰;

2. 从变量在内存中的存储方式来看,成员变量是对象的一部分,而对象存在于堆内存,局部变量

存于栈内存

3. 从变量在内存中的生存时间上来看,成员变量是对对象的一部分,它随着对象的创建而存在,

而局部变量随着方法的调用而自动消失

4.  成员变量如果没有被赋值,则会自动以类型的默认值而赋值(一种情况例外被final修饰过的

成员变量也必须显示地赋值);而局部变量则不会自动赋值。