目录
1. Java 中创建对象的几种方式?
(1)使用 new 关键字;
(2)使用 Class 类的 newInstance 方法,该方法调用无参的构造器创建对象(反射):Class.forName.newInstance();
(3)使用 clone() 方法;
4、反序列化,比如调用 ObjectInputStream 类的 readObject() 方法。
2. 静态变量和实例变量的区别?
(1) 静态变量:是被 static 修饰的变量,在内存中有且仅有一个拷贝;静态变量可以实现让多个对象共享内存。
(2) 实例变量:属于某一实例,需要先创建对象,然后通过对象才能访问到它。
3. Integer 和 int 的区别?
(1)int 是 Java 的八种基本数据类型之一,而 Integer 是 Java 为 int 类型提供的封装类;
(2)int 型变量的默认值是 0,Integer 变量的默认值是 null,这一点说明 Integer 可以区分出未赋值和值为 0 的区分;
(3)Integer 变量必须实例化后才可以使用,而 int 不需要。
4. 抽象类和接口有什么区别?
(1)抽象类中可以定义构造函数,接口不能定义构造函数;
(2)抽象类中可以有抽象方法和具体方法,而接口中只能有抽象方法;
(3)抽象类中的成员权限可以是 public、默认、protected,而接口中的成员只可以是 public(方法默认:public abstrat、成员变量默认:public static final);
(4)抽象类中可以包含静态方法,而接口中不可以包含静态方法;
/* 文件名 : Salary.java */
public class Salary extends Employee
{
private double salary; // Annual salary
public double computePay()
{
System.out.println("Computing salary pay for " + getName());
return salary/52;
}
//其余代码
}
5. 装箱和拆箱的区别
(1)自动装箱是 Java 编译器在基本数据类型和对应得包装类之间做的一个转化。比如:把 int 转化成 Integer,double 转化成 Double 等等。反之就是自动拆箱。
(2)原始类型:boolean、char、byte、short、int、long、float、double
(3)封装类型:Boolean、Character、Byte、Short、Integer、Long、Float、Double
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/73283.html