java基础知识之七: static关键字

本文来介绍static关键字,在Java中用static关键字的方法,就叫静态方法,静态方法只能被类本身调用,不能被类的实例对象调用(会出现警告,类型不匹配),而没有static关键字的方法,在类中叫实例方法,任何一个实例对象都能调用实例方法。同样,类变量(静态变量)也和方法类似。

这篇我们再介绍一个static使用的例子。需要两个文件,一个Student.java,一个MyClass.java

1. Student.java的代码如下

    package Lessons;  
      
    public class Student {  
          
        String name;  
        int age;  
        static int NoOfStudents = 0;  
          
        Student(){  
            NoOfStudents++;  
        }  
          
        public int getNoOfStudents(){  
            return NoOfStudents;  
        }  
        public String getName() {  
            return name;  
        }  
        public void setName(String name) {  
            this.name = name;  
        }  
        public int getAge() {  
            return age;  
        }  
        public void setAge(int age) {  
            this.age = age;  
        }  
          
      
    } 

  上面写了三个成员变量,一个静态变量,两个普通成员变量。还写了一个构造函数,构造函数内部,使得学生学号这个变量自动加1,如果被调用一次。还写了一个实例方法,用来获取学号的最新值。
2. MyClass.java的相关代码:

[java] view plain copy

    package Lessons;  
      
      
    public class MyClass {  
      
        public static void main(String[] args) {  
              
            Student Anthony = new Student();  
            System.out.println(Anthony.getNoOfStudents());  
              
            Student Tom = new Student();  
            System.out.println(Tom.getNoOfStudents());  
              
            System.out.println(Student.NoOfStudents);  
              
        }  
      
    } 

测试显示 1,2, 2,可以发现,两个实例对象共享一个静态变量的值。前面两个打印语句是实例对象调用实例方法,第三个打印语句是类调用静态变量。

猜你喜欢

转载自www.cnblogs.com/jshtest/p/9150302.html