java中的static,static中的访问特点

1.static关键字

package java_learn;
/*
    static关键字是静态的意思,可以修饰成员方法,成员变量。
    static修饰特点:
    1)被类的所有对象共享;这也是判断是否使用static的条件。
    2)可以通过类名调用,也可以通过对象调用,推荐使用类名调用。
 */


public class Student {
    public String name;//姓名
    public int age;//年龄
    public String university;//学校
    public void show(){
        System.out.println(name+","+age+","+university);
    }
}
package java_learn;
/*
    static关键字是静态的意思,可以修饰成员方法,成员变量。
    static修饰特点:
    1)被类的所有对象共享;这也是判断是否使用static的条件。
    2)可以通过类名调用,也可以通过对象调用,推荐使用类名调用。
 */
/*
    测试类!!!
 */

public class StudentDemo {
    public static void main(String[] args) {
        //创建对象,调用方法
        Student s1=new Student();
        s1.name="风清扬";
        s1.age=20;
        s1.university="传智大学";
        s1.show();
        System.out.println("---------------");
        Student s2=new Student();
        s2.name="林青霞";
        s2.age=18;
        s2.university="传智大学";
        s2.show();
    }
}

运行结果:
java中的static,static中的访问特点_第1张图片
说明:对象S1和对象S2都来自“传智大学”,若对象更多,有无简单一点的方法呢?

package java_learn;
/*
    static关键字是静态的意思,可以修饰成员方法,成员变量。
    static修饰特点:
    1)被类的所有对象共享;这也是判断是否使用static的条件。
    2)可以通过类名调用,也可以通过对象调用,推荐使用类名调用。
 */
/*
    测试类!!!
 */

public class StudentDemo {
    public static void main(String[] args) {
        //创建对象,调用方法
        Student.university="传智大学";
        Student s1=new Student();
        s1.name="风清扬";
        s1.age=20;
        //s1.university="传智大学";
        s1.show();
        System.out.println("---------------");
        Student s2=new Student();
        s2.name="林青霞";
        s2.age=18;
        //s2.university="传智大学";
        s2.show();
    }
}
package java_learn;
/*
    static关键字是静态的意思,可以修饰成员方法,成员变量。
    static修饰特点:
    1)被类的所有对象共享;这也是判断是否使用static的条件。
    2)可以通过类名调用,也可以通过对象调用,推荐使用类名调用。
 */


public class Student {
    public String name;//姓名
    public int age;//年龄
    //public String university;//学校
    public static String university;//用static修饰
    public void show(){
        System.out.println(name+","+age+","+university);
    }
}

运行结果任然为:
java中的static,static中的访问特点_第2张图片
2.static中的访问特点

package java_learn;
/*
    static的访问特点
 */

public class Student {
    //非静态成员变量
    private String name="林青霞";
    //静态成员变量
    private static String university="传智大学";

    //非静态成员方法:可以调用所有静态或非静态成员和方法!!!!
    public void show1(){
        System.out.println(name);
        System.out.println(university);
        show1();
        show2();
        show3();
        show4();

    }
    //非静态成员方法
    public  void show2(){

    }
    //静态成员方法:只能调用静态成员变量,静态成员方法
    public static void show3(){
        System.out.println(name);//报错
        System.out.println(university);
        show2();//报错
        show3();
        show4();

    }
    //静态成员方法
    public static void show4(){

    }

}

你可能感兴趣的:(java学习)