一、static总结:

1.static定义:static被称为静态,可以用来修饰类的属性或者方法。

②如果类的某个属性,不管创建多少个对象,属性的存储空间只有唯一的一个,那么这个属性就应该用static修饰,被static修饰的属性被称为静态属性。

static属性可以使用对象调用,也可以直接用类名调用。

④静态属性是类的所有对象共享的,即不管创建了多少个对象,静态属性在内存中只有一个。

2.static属性

public class Employee {

private String name ;---------非静态属性

private double salary; ---------非静态属性

private static int count;---------静态属性

3.static方法:①定义:如果某个方法不需要与某个特定的对象绑定,那么该方法可以使用static修饰,被static修饰的方法称为静态方法。

②作用:static方法可以使用对象调用,也可以直接用类名调用,建议用类名直接调用。

③何时使用static方法:如果某个方法与实例无关,也就是说不管哪个对象调用这个方法,都执行相同的操作,与对象没有关系,则应该定义为静态方法。不需要创建对象后再使用该方法。

④任何方法都可以直接调用静态方法;静态方法不能直接调用非静态方法,需要创建对象,用对象名调用非静态方法。

4.static块:static块和static的属性以及方法的性质是相同的,用static修饰的代码块表示静态代码块,当Java虚拟机加载类时,就会执行该代码块。

②静态块只有在类加载的时候被执行一次,不管创建多少个对象,都不会再执行。

③如果一个类加载的时候,总要预先做一些事情,则可以放在静态块中,例如,读取一个属性文件,进行一些常规配置,写一些日志等。

④一个类中可以有多个静态块,按照顺序执行。

二、final总结:

1.static定义:用于声明属性,方法和类。

①属性:定义就必须直接赋值或者在构造方法中进行赋值,并且后期都不能修改。

②方法:定义必须有实现代码,并且子类里不可被覆盖。

③类:不能被定义为抽象类或是接口,不可被继承。

2.final修饰属性:final修饰属性时,基本数据类型的属性将成为常量,不能被修改。一些数学定理中的常量经常使用final修饰。

比如,π= 3.14159265358979E= 2.718281828459045

3.final属性的赋值:①在声明时同时赋值,往往与static一起使用。

②声明时不赋值,必须在构造方法中逐一赋值。

③总的原则:保证创建每一个对象的时候,final属性的值是确定的。

4.final修饰参数:在方法参数前面加final关键字,为了防止数据在方法体中被修改。