其他分享
首页 > 其他分享> > 第八章:类变量

第八章:类变量

作者:互联网

类变量和类方法
什么是类变量
类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的
对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改
的也是同一个变量。这个从前面的图也可看出来。

注意:类变量是随着类的加载而创建的,所以没有创建对象实例也可以访问;
如何定义类变量
定义语法:
访问修饰符static数据类型变量名;[推荐]
static访问修饰符数据类型变量名;
class A{
public static String name = "abc";


如何访问类变量 VisitStatic.java
static public int totalNum = 100;
类名.类变量名
或者对象名.类变量名【静态变量的访问修饰符的访问权限和范围和普通属性是一样的。
推荐使用:类名.类变量名:

 

 

类变量和类方法
类变量使用注意事项和细节讨论 StaticDetail.java
1.什么时候需要用类变量
当我们需要让某个类的所有对象都共享一个变量时,就可以考虑使用类变量(静态
变量):比如:定义学生类,统计所有学生共交多少钱。Student(name,static
fee)
2.类变量与实例变量(普通属性)区别
类变量是该类的所有对象共享的,而实例变量是每个对象独享的。
3.加上static称为类变量或静态变量,否则称为实例变量/普通变量/非静态变量
4.类变量可以通过类名.类变量名或者对象名.类变量名来访问,但java设计者推荐
我们使用类名.类变量名方式访问。【前提是满足访问修饰符的访问权限和范围】

5.实例变量不能通过类名.类变量名方式访问。
6.类变量是在类加载时就初始化了,也就是说,即使你没有创建对象,只要类加载了
就可以使用类变量了。[案例演示]
7.类变量的生命周期是随类的加载开始,随着类消亡而销毁。
[举例,Monster.name][案例演示]

 

类方法基本介绍
类方法也叫静态方法。
形式如下:
访问修饰符static数据返回类型方法名0{}【推荐】
static 访问修饰符数据返回类型方法名(0{}
·类方法的调用:
使用方式:类名.类方法名或者对象名.类方法名【前提是满足访问修饰符的访问权限和范围

 1 package com.StaticVar;
 2 
 3 public class Teacher {
 4     public static void main(String[] args) {
 5         //类变量的访问
 6         //类名.类变量名
 7         //类变量的是由类加载而创建的,所以在没有创建实例对象也可以进行访问
 8         Student tom = new Student("tom");
 9         //调用静态方法:
10         // 类名.类方法名或者对象名.类方法名【前提是满足访问修饰符的访问权限和范围
11         tom.payFee(500);
12        // Student.payFee(500);这种调用也是对的
13         Student jack = new Student("jack");
14         jack.payFee(100);
15        // Student.payFee(100);这种调用也是对的
16         //  总费用
17         Student.showFee();
18 
19     }
20 }
21 
22 
23 class Student {
24 
25     private String name;
26     //类变量:在本类中所有对象可以进行共享该变量
27     //类变量的访问,必须遵守 相关的访问权限
28     private static double fee = 0;
29 
30     public Student(String name) {
31         this.name = name;
32     }
33 
34     //静态方法:
35     //当方法中添加了static,该方法就是静态方法
36     //静态方法就可以访问静态属性/变量
37         public static void payFee(double fee) {
38             Student.fee += fee; //学费累积
39         }
40 
41         public static void showFee(){
42             System.out.println("学费累积:"+Student.fee);
43         }
44 }

 

类变量和类方法
类方法使用注意事项和细节讨论
1)类方法和普通方法都是随着类的加载而加载,将结构信息存储在方法区:
类方法中无this的参数,普通方法中隐含着this的参数
2)类方法(静态方法)可以通过类名调用,也可以通过对象名调用。[举例]
3)普通方法和对象有关,需要通过对象名调用,比如对象名.方法名(参数),不能通过类名调用。[举例]

4)类方法(静态方法)中不允许使用和对象有关的关键字,比如this和super。普通方法(成员方法)可以。
[举例]
5)类方法(静态方法)中只能访问静态变量或静态方法。【如何理解】
6)普通成员方法,既可以访问普通变量(方法),也可以访问静态变量(方法)。
小结:静态方法,只能访问静态的成员,非静态的方法,可以访问静态成员和非静态成员
(必须遵守访问权限)

标签:静态方法,变量,第八章,访问,static,Student,方法
来源: https://www.cnblogs.com/nzm-2019/p/16057024.html