第八章:类变量
作者:互联网
类变量和类方法
什么是类变量
类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的
对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改
的也是同一个变量。这个从前面的图也可看出来。
注意:类变量是随着类的加载而创建的,所以没有创建对象实例也可以访问;
如何定义类变量
定义语法:
访问修饰符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