java“static”关键字
1.修饰类的成员——修饰成员变量的称为类变量(静态变量)——区别于普通变量,不需要实例化可直接访问
class Student{
int age;
static String name;
void function(){
}
}
public class This{
public static void main(String[] args){
Student stu=new Student();
stu.age=18;
Student.name="李华";
}
}
// 18
2.修饰成员方法称为类方法(静态方法)
类比于类变量,不需要实例化可直接访问,当类被加载的时候就会被加载,优先于对象的存在
class Student{
int age;
static void printAge(){
System.out.println("nihao");
}
}
public class This{
public static void main(String[] args){
Student.printAge();
}
}
//18
3.用来修饰语句,称为静态代码块,先于构造方法之前执行,只会执行一次,用来对静态成员做初始化
class Student{
int age;
String name;
static{
System.out.println("静态代码块");
}
Student(int age,String name){
System.out.println("构造方法");
this.age=age;
this.name=name;
}
}
public class This{
public static void main(String[] args){
Student stu1=new Student(18,"小明");
}
}
//静态代码块
//构造方法
4.static关键字注意事项
- 静态方法只能访问外部的静态成员
- 静态方法中不能出现this关键字
5.方法的重载
重载(overload):方法名相同而参数列表不同的方法可以同时存在
下例中的四个Student函数就是方法的重载
class Student{
int age;
Student(){
}
Student(String name){
}
Student(String name,int age){
}
Student(String name,int age,String sex){
}
}
public class This{
public static void main(String[] args){
}
}