2022.01.08static、final、单例设计模式

2022.01.08每日一考

1. static 修饰的属性,相较于实例变量,有哪些特别之处(>=3点)

随着类的加载而加载;早于对象的创建;只要权限允许,可以通过”对象.static属性”的方式进行调用;

存在于方法区的静态域

 

2. final 可以用来修饰哪些结构,分别表示什么意思

变量 该变量不可更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象

方法 该方法不能被重写被final修饰的方法将不能被子类覆盖

类 表示该类不能再被继承

在使用final修饰类的时候,要注意谨慎选择,除非这个类真的在以后不会用来继承或者出于安全的考虑,尽量不要将类设计为final类。

 

3. 代码实现单例模式的饿汉式

 

public class Account {
    private Account() {

    }

    private static Account test = new Account();

    public static Account getAccount() {

        return test;
    }

}

 

4. 代码实现单例模式的懒汉式  -目前还是线程不安全的。

class Sample {
    private Sample() {

    }

    private static Sample test2 = null;

    public static Sample getTest2(){
        if (test2 == null){
            test2 = new Sample();
        }
        return test2;
    }
}

 

5. 类的属性赋值的位置有哪些?先后顺序为何?

默认初始化

显式初始化 、代码块中初始化

构造器中初始化

通过”对象.属性” 或”对象.方法”的方式赋值

posted @ 2022-01-08 23:35  Fancy[love]  阅读(31)  评论(0编辑  收藏  举报