/*
static(静态\修饰符)
1. static修饰成员变量 :如果有数据需要被共享给所有对象使用时,那么就可以使用static修饰。
静态成员变量的访问方式:
方式1: 可以使用对象进行访问。
格式: 对象.变量名。
方式二: 可以使用类名进行访问。
格式: 类名.变量名;
注意:
1. 非静态的成员变量只能使用对象进行访问,不能使用类名进行访问。
2. 千万不要为了方便访问数据而使用static修饰成员变量,只有成员变量的数据是真正需要被共享的时候
才使用static修饰。
static修饰成员变量的应用场景: 如果一个数据需要被所有对象共享使用的时候,这时候即可好实用static修饰。
2. static修饰成员函数:
*/
class Student{
static String name; //非静态成员变量
static String country = "中国"; //静态的成员变量
public Student(String name){
this.name = name;
}
}
class Demo10 {
public static void main(String[] args)
{
Student s1 = new Student("狗娃");
Student s2 = new Student("狗剩");
//System.out.println("国籍:"+ Student.country);
System.out.println("名字:"+ s1.name);
System.out.println("名字:"+ s2.name);
}
}
Java类中的静态变量在程序运行期间,其内存空间对所有该类的对象实例而言是共享的,有些时候可以认为是全局变量。因此在某些时候为了节省系统内存开销、共享资源,可以将类中的一些变量声明为静态变量,通过下面的例子
Java代码
public class WeekA{
static class Data {
private int week;
private String name;
Data(int i, String s) {
week= i;
name = s;
}
}
Data weeks[] = {
new Data(1, "Monday"), new Data(2, "Tuesay"), new Data(3, "Wednesday"), new Data(4, "Thursday"), new Data(5, "Friday"), new Data(6, "Saturday"), new Data(7, "Sunday")
};
public static void main(String args[]) {
final int N = 10000;
WeekA weekinstance;
for (int i = 1; i <= N; i++){
weekinstance = new WeekA ();
}
}
} 来源:考试
希望对你有所帮助
给楼主一个建议,系统的学习一下java。我看的是thinking in java,里面有介绍这部分的,说的是静态的内容并不是完全符合面向对象的思想,但是在很多方面是非常必要的,比如效率方面等等。书里面有很多的例子,具体说明了。这里回答的也只是很片面,不能具体的说明。
static主要左右用两个:
1.用于表示所有实例都相同的属性
2.java中没有全局变量,需要用到的时候可用一个静态类实现
当你一个成员变量在全局中多次使用,而且该变量的值是固定的,这个时候就要用到static来声明变量了。
至于为什么呢,因为你在做项目时,内存的合理使用是很重要的,一个变量声明了static 之后,无乱多少个方法调用它,它在内存中只占用了一个内存,而没有声明,一个方法调用一次,它就占用一次内存。