static关键字
static:静态的
1.用于修饰变量
语法:
public static 变量类型 变量名[=初始值];
在修饰变量时只能修饰全局变量(成员变量)=》定义在类体中的变量(属性)
被static修饰的变量也称之为类变量(静态变量)
可以理解为类(对象)共享的变量 被staitc修饰的变量就不是某个对象自己使用的了,而是当前类下所有对象共用的
被static修饰的变量可以以直接通过类名.变量名进行使用
2.用于修饰方法
在返回值类型前使用static修饰 ,被static修饰的方法称之为静态方法(类方法)
被static修饰的方法与未被static修饰的方法使用区别
被static修饰的方法在调用时无需创建对象可以直接使用类名.方法名进行调用
方法与变量被static修饰与未被static修饰使用上的根本区别
在java中限制:未被static修饰的方法可以直接使用未被static修饰的属性与方法与被static修饰的属性与方法,
被static修饰的方法只能使用被static修饰的属性与方法
被static修饰的方法调用未被static修饰的方法的途径只有一种:创建对象进行调用
3.用于修饰代码块
被static修饰的代码块称之为静态代码块,用于自己的执行时间以及功能
可以理解为一个在指定时间被调用的静态方法,如果没有定义默认也是存在的,用于创建静态属性与方法
被执行的时间:当类第一次被使用之前执行,且只执行一次
static{
System.out.println("静态代码块执行");
}
功能:
1.为静态属性赋值
2.进行初始化操作(调用静态方法)
final关键字
1.用于修饰类
2.用于修饰方法
以上两种在继承进行讲解
3.修饰变量
被final修饰的变量称之为常量(自定义常量)
在程序运行过程中不可以修改的量如1,2,3不能直接表示,但是如果使用变量表示,存储的数据是可以更改的,就完成不了常量的需求。①修饰静态变量
修饰书写在类体中被static修饰的变量
修饰的变量变为不可以修改且为当前类所有对象共享的变量
②修饰对象变量(成员变量)
修饰书写在类体中未被static修饰的变量
只能在当前对象使用且不允许更改
注意
在修饰类体中的变量时,修饰的常量必须进行初始化赋值。
③修饰局部变量
修饰书写在方法中的变量
只能进行一次赋值,但与类体中声明不同的是,声明在方法中的常量可以将声明与赋值分开进行
总结:
被final修饰的变量称之为常量,只允许进行一次赋值
//修饰静态变量
public final static int A=1;
//修饰成员变量
public final int B=2;
//修饰类体中变量时必须赋初始值,否则会出错
//原因:在创建对象时会为没有赋值的变量赋初始值
public void a() {
final int C;
C=1;
//C=2;
//声明在方法中的局部常量没有强制要求赋值
//一般在使用时都是声明与赋值一同进行
}
构造方法
是不能直接调用而是通过new关键字调用的方法称之为构造方法。
作用:
①创建对象
②进行初始化赋值
Student s=new Student();
语法:
修饰符多为public
无返回值(连void都没有)
方法名固定(就是类型名)
参数列表已知(就是属性)
方法体多为赋值
一个类中如果没有显示的声明构造方法,那么在程序运行时系统会自动添加无参构造方法进行使用,但如果定义了任意构造方法,那么就不会添加了
构造方法的重载
方法的重载参数列表不同拥有三种,但是在实际开发中对于构造方法的重载,大多数依赖于个数不同
在进行开发时默认添加全参、无参构造方法其余根据业务需求动态添加
this关键字
用于指代当前对象,在进行代码书写时,有时对于不同作用域相同名字的变量需要一同使用(当前作用域中与全局变量中都声明了同一变量名)
将局部变量的值赋值给同名的指定对象的属性
如果不想使用this关键字,可以将局部变量的名字修改与全局变量不相同,那么在使用相应属性时系统就会直接使用全局变量