跳过正文
  1. 全部/
  2. 笔记/
  3. 面试/
  4. Java/

问答

目录

接口和抽象类的区别
#

接口是对行为的抽象,它是抽象方法的集合 目的:利用接口可以达到API定义和实现分离

接口,不能实例化; 不能包含任何非常量成员,任何field都是隐含着public static final的意义; 同时,没有非静态方法实现,也就是说要么是抽象方法,要么是静态方法。

抽象类是不能实例化的类,用abstract关键字修饰class, 抽象类大多用于抽取相关Java类的共用方法实现或者是共同成员变量,然后通过继承的方式达到代码复用的目的。 除了不能实例化,形式上和一般的Java类并没有太大区别,可以有一个或者多个抽象方法,也可以没有抽象方法。

final、finally、 finalize有什么不同?
#

final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。

finally 则是 Java 保证重点代码一定要被执行的一种机制。我们可以使用 try-finally 或者 try-catch-finally 来进行类似关闭 JDBC 连接、保证 unlock 锁等动作。

static关键字
#

修饰方法的时候,其实跟类一样,可以直接通过类名来进行调用

被static修饰的成员变量叫做静态变量,也叫做类变量,说明这个变量是属于这个类的,而不是属于是对象,没有被static修饰的成员变量叫做实例变量,说明这个变量是属于某个具体的对象的。

int和Integer有什么区别?
#

int 是我们常说的整形数字,是 Java 的 8 个原始数据类型(Primitive Types,boolean、byte 、short、char、int、float、double、long)之一。Java 语言虽然号称一切都是对象,但原始数据类型是例外。

Integer 是 int 对应的包装类,它有一个 int 类型的字段存储数据,并且提供了基本操作,比如数学运算、int 和字符串之间转换等。在 Java 5 中,引入了自动装箱和自动拆箱功能(boxing/unboxing),Java 可以根据上下文,自动进行转换,极大地简化了相关编程。

Reply by Email