char string
遇到这些查api ,转一个老哥的链接[https://blog.csdn.net/weixin_41795668/article/details/79516400]
static
静态修饰字。
修饰变量时,该变量就成为类的变量即所有该类的对象都可以使用。比如new了三个对象,他们都有相同老师,如果换老师了,那么用static修饰该老师变量,只用修改一次老师变量就可以使三个对象改变,不使用static得修改三次。
修饰方法时,静态方法的调用也不需要创建对象,通过类名.方法名()进行调用。
此外静态方法不能调用非静态变量,非静态可调用静态。因为静态变量或方法是早于非静态创建的。
public class Student {
private string Name;
static string TeacherMame;
public static void look(
println("静态方法调用")
)
}
main 函数{
Student st1=new Student("zhang")
st1.TeacherMame="老李";
Student.look();//调用静态方法输出“静态方法调用”
Student st2=new Student("wang")
println(st2.TeacherMame)
//结果就是老李。statc修饰的变量辐射到所有对象
}
Ststic内存情况:在方法区有一个单独的块存储静态变量。方法区的静态变量指向静态区。在栈中调用静态变量时直接去方法区寻找是否有该静态变量,然后再去静态区拿这个值。
Static 静态代码块
public class Techer{
static {
println(''静态代码块'')
}
}
当第一次调用该类时(创建对象)且只自动执行一次该static的代码块。一般用来赋值。