JavaSE-10.4.4【static关键字】

 1 package day1.yppah04.p6;
 2 
 3 /*
 4 4.6 static
 5 
 6     static的概念
 7         static关键字是静态的意思,可以修饰【成员方法】,【成员变量】
 8     static修饰的特点
 9         1. 被类的所有对象共享,这也是我们判断是否使用静态关键字的条件
10         2. 可以通过类名调用当然,也可以通过对象名调用【推荐使用类名调用】
11  */
12 
13 public class StudentDemo {
14     public static void main(String[] args) {
15         //school被static修饰前
16         /*Student s1 = new Student();
17         s1.name = "tom";
18         s1.age = 20;
19         s1.school = "qdu";
20         s1.show();
21 
22         Student s2 = new Student();
23         s2.name = "amy";
24         s2.age = 22;
25         s2.school = "qdu";
26         s2.show();*/
27 
28         //school被static修饰后
29         /*Student s1 = new Student();
30         s1.name = "tom";
31         s1.age = 20;
32         s1.school = "qdu"; //school变为共享
33         s1.show();
34 
35         Student s2 = new Student();
36         s2.name = "amy";
37         s2.age = 22;
38 //        s2.school = "qdu";
39         s2.show();*/
40 
41         Student.school = "qdu"; //建议这样直接用类名访问
42         Student s1 = new Student();
43         s1.name = "tom";
44         s1.age = 20;
45 //        s1.school = "qdu";
46         s1.show();
47 
48         Student s2 = new Student();
49         s2.name = "amy";
50         s2.age = 22;
51 //        s2.school = "qdu";
52         s2.show();
53     }
54 }
 1 package day1.yppah04.p6;
 2 
 3 public class Student {
 4 
 5     public String name;
 6     public int age;
 7     public static String school;
 8 
 9     public void show(){
10         System.out.println(name + "," + age + "," + school);
11     }
12 
13 }
 1 package day1.yppah04.p7;
 2 
 3 /*
 4 4.7 static访问特点
 5 
 6     非静态的成员方法
 7         能访问静态的成员变量
 8         能访问非静态的成员变量
 9         能访问静态的成员方法
10         能访问非静态的成员方法
11     静态的成员方法
12         能访问静态的成员变量
13         能访问静态的成员方法
14     总结成一句话就是:
15         静态成员方法只能访问静态成员
16  */
17 
18 public class Student {
19 
20     private String name = "tom"; //非静态成员变量
21     private static String school = "qdu"; //静态成员变量
22 
23     public void show1(){ //非静态成员方法
24 
25     }
26 
27     public void show2(){ //非静态成员方法
28         System.out.println(name);
29         System.out.println(school);
30         show1();
31         show3();
32     }
33 
34     public static void show3(){ //静态成员方法
35 
36     }
37 
38     public static void show4(){ //静态成员方法
39 //        System.out.println(name); //error
40         System.out.println(school);
41 //        show1(); //error
42         show3();
43     }
44 
45 }

 

posted @ 2021-05-27 20:39  yub4by  阅读(43)  评论(0编辑  收藏  举报