关键字static和final

关键字static和final

关键字static

  • static是静态的意思,可以修饰成员变量和成员属性

  • static修饰成员变量表示该成员变量只在内存中只存储一份,可以被共享访问、修饰

static修饰变量

 1.静态成员变量(有static修饰,属于类,内存中只加载一次)
    调用方法:
       类名.静态成员变量(推荐)
       对象.静态成员变量(不推荐) 
	实例成员变量(无static修饰,存在于每个对象中)
    调用方法:
       对象.实例成员变量

static修饰方法

1.静态成员方法(有static修饰,归属于类)
   调用方法:
      类名.静态成员方法(推荐)
      对象.静态成员方法(不推荐)
2.实例成员方法(无static修饰,归属于对象)
   调用方法:
      对象.实例成员方法

static注意事项

1. 静态方法只能访问静态的成员,不可以直接访问实例成员
2.实例方法可以访问静态的成员,也可以访问实例成员
3.静态方法是不可以出现this关键字的

static的应用
工具类:

类中都是一些静态方法,每个方法都是以完成一个共用的功能为目的,这个类用来给系统开发人员共同使用的
   一次编写,处处可用,提高代码的重用
工具类有什么要求:
   建议工具类的构造器私有化处理
   工具类不需要创建对象

代码块:

  代码块是类的5大成分之一(成员变量,构造器,方法,代码块,内部类),定义在类中的方法外
  在java类下,使用{}括起来的代码被称为代码块
  代码块分类:
    静态代码块:static{}
	    特点:需要通过static关键字修饰,随着类的加载而加载,并且自动触发,只执行一次
		使用场景:在类加载的时候做一些静态初始化的操作,以便后续使用
	构造代码块:{}
	    特点:每一次创建对象,调用构造器执行时,都会执行该代码中的代码,并且在构造器执行前执行
		使用场景:初始化实例资源

static单例设计模式

单例模式:
可以保证系统中,应用该模式的这个类永远只有一个实例,即一个类永远只能创建一个对象
	饿汉单例:在用类获取对象的时候,对象已经提前为你创建好了
    懒汉单例:在真正需要改对象的时候,才去创建一个对象(延迟加载对象)
	设计步骤:
	    定义一个类,把构造器私有
		定义一个静态变量存储一个对象
		提供一个返回单例对象的方法

关键字final
final作为Java中的关键字可以用于三个地方。用于修饰类、类属性和类方法

特征:凡是引用final关键字的地方皆不可修改!

(1)修饰类:表示该类不能被继承;
(2)修饰方法:表示方法不能被重写;
(3)修饰变量:表示变量只能一次赋值以后值不能被修改(常量)。
final修饰变量的注意事项
1. final修饰的变量是基本类型:那么变量存储的数据值不能发生改变
2. final修饰的变量是引用类型:那么变量存储的地址值不能发生改变,但是地址指向的对象内容是可以发生变化的

posted @ 2022-06-20 19:46  小冷漠  阅读(40)  评论(0编辑  收藏  举报