day13每日一考
题目
1.static修饰的属性,相较于实例变量,有哪些特别之处(>=3点)
2.final可以用来修饰哪些结构,分别表示什么意思
3.代码实现单例模式的饿汉式
4.代码实现单例模式的獭汉式
5.类的属性赋值的位置有哪些?先后顺序为何?
答案
第一题
static属性赋值之后将无法再修改
static属性可以通过类名直接调用
随着类加载而加载
早于对象的创建
可以通过“对象.static属性”的方式进行调用
存在于静态域中
第二题
final可以用来修饰类、方法、变量
类:不可以再有子类继承
方法:不可以再重写
变量:变为常量,赋值一次后无法修改
第三题
class Person{
private Person() {
}
private static Person person =new Person();
public static Person instance(){
return person;
}
}
第四题
class Person{
private Person() {
}
private static Person person =null;
public static Person instance(){
if(person==null){
person=new Person();
}
return person;
}
}
第五题
默认初始化
显性初始化/代码块初始化
构造器初始化
对象.属性/对象.方法进行赋值
自上而下-----先—>后