关于static
static修饰的特点:
1)被类的所有对象共享
这也是我们判断是否使用静态关键字的条
2)可以通过类名调用
当然,也可以通过对象名调用
推荐使用类名调用
代码示例:
package com.itheima_01;
/*
static修饰的特点:
1)被类的所有对象共享
这也是我们判断是否使用静态关键字的条件
2)可以通过类名调用
当然,也可以通过对象名调用
推荐使用类名调用
*/
public class StaticDemo {
public static void main(String[] args) {
Student.university = "南昌大学";
Student s1 = new Student();
s1.name="林俊杰";
s1.age = 23;
// s1.university = "南昌大学";
s1.show();
Student s2 = new Student();
s2.name="邓紫棋";
s2.age=21;
// s2.university = "南昌大学";
s2.show();
}
}
static访问特点:
非静态的成员方法:
能访问静态的成员变量
能访问非静态的成员变量
能访问静态的成员方法
能访问非静态的成员方法
静态的成员方法:
能访问静态的成员变量
能访问静态的成员方法
总结成一句话就是:静态成员方法只能访问静态成员
代码示例:
package com.itheima_02;
/*
static访问特点:
非静态的成员方法:
能访问静态的成员变量
能访问非静态的成员变量
能访问静态的成员方法
能访问非静态的成员方法
静态的成员方法:
能访问静态的成员变量
能访问静态的成员方法
总结成一句话就是:静态成员方法只能访问静态成员
*/
public class Student {
//非静态成员变量
private String name = "风少";
//静态成员变量
private static String university = "清华大学";
//非静态成员方法
public void show1(){
System.out.println(name);
System.out.println(university);
show1();
show2();
}
//静态成员方法
public static void show2(){
// System.out.println(name);//不能访问
System.out.println(university);
// show1();//不能访问
show2();
}
}