实例变量可以是抽象类型或者final修饰的变量类型吗?

 

我们经常这样创建日志实例那麼为什么要用static还有final修饰的变量呢?

 

网上搜集了一些简单的答案:
  1. static 修饰的变量是不管创建了new了多少个实例,也只创建一次节省空间,如果每次都创建Logger的话比较浪费内存;final修饰的变量修饰表示不可更改常量

 

成员变量和成员方法可以处于4个訪问级别中的一个:公开受保护,默认和私有

顶层类可以处于公开或者默认级别顶层类不能被protected和private修饰

局部变量不能被访问控制修饰符修饰

抽象类中的可以没有抽象方法,但是包含了抽象方法的类必须被定义为抽象类

如果子类没有实现父类中的所有抽象方法子类也必须萣义为抽象类

用final修饰的变量修饰的类不能被继承

用final修饰的变量修饰的方法不能被子类方法覆盖

private类型的方法默认为final修饰的变量方法,因而不能被子类的方法覆盖

final修饰的变量变量必须被显示初始化并且只能被赋值一次

静态变量在内存中只有一个拷贝,在类的所有实例中共享

在靜态方法中不能直接访问实例变量和实例方法

在静态方法中不能使用this和super关键字

静态方法不能被abstract修饰

静态方法和静态变量都可以通过类名直接访问

当类被加载时静态代码块只能被执行一次,类中不同的静态代码块按照他们在类中出现的顺序被依次执行

我要回帖

更多关于 final修饰的变量 的文章

 

随机推荐