1. static 修饰的属性,相较于实例变量,有哪些特别之处(>=3点)
随着类的加载而加载:早于对象的创建;只要权限允许,可以通过"对象.static属性"的方式进行调用;存在于方法区的静态域
2. final 可以用来修饰哪些结构,分别表示什么意思
final可以用来修饰 类 方法 变量
final 修饰类 表示该类不能被继承
final修饰方法 表示该方法不能被重写
final修饰变量 表示该变量是个常量
尤其是final修饰形参时,表明此形参是一个常量。当我们调用此方法时,给常量形参赋一个实参。一旦赋值以后,就只能在方法体内使用此形参,但不能进行重新赋值。
3. 代码实现单例模式的饿汉式
4. 代码实现单例模式的懒汉式 -目前还是线程不安全的。
5. 类的属性赋值的位置有哪些?先后顺序为何?
默认初始化
显式初始化、代码块中初始化
构造器中初始化
通过"对象.属性" 或 "对象.方法" 的方式赋值
单例模式的饿汉式
package top.qaqaq.java.P338;
public class SingletonTest1 {
public static void main(String[] args) {
}
}
class Bank{
private Bank() {
}
private static Bank instance = new Bank();
public static Bank getInstance() {
return instance;
}
}
单例模式的懒汉式
package top.qaqaq.java.P338;
public class SingletonTest2 {
public static void main(String[] args) {
}
}
class Order{
private Order() {
}
private static Order instance = null;
private static Order getInstance() {
if(instance == null) {
instance = new Order();
}
return instance;
}
}