1. 静态变量和方法从属于类,不需要通过对象调用,可以直接通过类调用
public class Test{
public static void main(String[] args){
System.out.println(Student.name);
System.out.println(Student.getAge());
}
}
class Student{
public static String name=\"郭靖\";
private static int age=23;
public static String getAge(){
return age;
}
}
2. 静态变量不能通过this赋值,因为this指的是当前对象,而不是当前类。
public class Test{
public static void main(String[] args){
}
}
class Student{
public static String name=\"郭靖\";
private static int age=23;
//正确的姿势
public static void setAge(int Age){
age=Age;//通过参数名和变量名不同赋值
}
//错误的示范
public static void setName(String name){
this.name=name;
}
}
3. 类中的普通方法可以调用静态方法和普通方法,但静态方法只能调用静态方法不能调用普通方法,问题的关键在于静态发放从属于类,普通方法从属于对象。
public class Test{
public static void main(String[] args){
Student s1=new Student();
s1.sayAge();
}
}
class Student{
public static String name=\"郭靖\";
private static int age=23;
public void sayAge(){//普通方法可以调用静态方法
System.out.println(getAge());
}
private static int getAge(){
return age;
}
//错误的示范
public static void say(){
sayAge();
}
}
4. 类中的普通方法可以调用静态变量和普通变量,但静态方法只能调用静态变量不能调用普通变量。
public class Test{
public static void main(String[] args){
}
}
class Student{
public static String name=\"郭靖\";
private int age=23;
public void sayName(){//普通方法可以调用静态变量
System.out.println(name);
}
//错误的示范
public static void sayAge(){
System.out.println(age);
}
}
5. 静态代码块
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。




