要从两方面考虑:因为静态修饰的内容有成员变量和函数(方法)。
如果想让一个类的所有实例共享数据,就要使用静态变量(类变量)。(对象中的特有数据要定义成非静态存在堆内存中。)
当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的。
举例:- public class PersonDemo_2 {
- public static void main(String[] args) {
- // Person_2 p = new Person_2();
- // p.show();//如果只是调用show()方法,楼上的创建对象将变的无意义。
- Person_2.show();//直接通过类名调用。
- }
- }
- class Person_2{
- String name;
- public static void show(){//因为方法不访问name变量,所以需要修饰为static。
- System.out.println("Welcome to Java!");
- }
- }
复制代码 我也是新人,如有错误请指出。 |