(java基础学习笔记)JAVA类变量和类方法

(java基础学习笔记)JAVA类变量和类方法

一、类变量

1.什么是类变量

类变量:也叫静态变量或静态属性,是该类的声明的所有对象共享的变量,所有该类声明的对象去访问它时,取到的都是相同的值,同样任何该类的对象去修改它时,修改的也是同一个变量。

2.怎么定义类变量

定义语法:(1)访问修饰符 static 数据类型 变量名;(推荐)

       (2)static 访问修饰符 数据类型 变量名;

3.怎么访问类变量

(1)对象.类变量名

(2)类.类对象名(推荐)

注:静态变量的访问修饰符的访问权限和普通属性一样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.hspedu.static_;

public class VisitStatic {
public static void main(String[] args) {
System.out.println(A.age);//18
A a = new A();
A a1 = new A();
System.out.println(a.age);//18
a1.age = 2;
System.out.println(A.age);//2
System.out.println(a.age);//2
System.out.println(a1.age);//2
}
}
class A{
public static int age=18;
}

4.类变量使用细节

(1)什么时候需要用类变量

当需要所有对象都共享一个变量的时候,如,定义一个学生类,要统计所有学生交的学费。

(2)类变量(静态属性/静态变量)和非静态变量的区别

类变量是该类的所有对象共享的,而非静态变量是每个对象独享的。

(3)加上static称为类变量或静态变量或静态属性,否则称为实例变量/普通变量/非静态变量…

(4)类变量可以通过 类名.类变量名 或 对象名.类变量名来访问,但推荐用第一种(前提是满足访问修饰符的访问权限和范围)

(5)实例变量不能通过类.变量名来访问

(6)类变量是在类加载的时候就初始化了,也就是说,即使你没有创建对象,只要类加载了,就可以使用类变量

(7)类变量的生命周期是随类的加载开始,随类的消亡而销毁的。

二、类方法

1.类方法也叫静态方法

2.定义类方法形式:(推荐)(1)访问修饰符 static 数据返回类型 方法名(){ }

1
2static 访问修饰符 数据返回类型 方法名(){ }

3.类方法的调用

类.类方法名 或 对象名.类方法名(前提是 满足访问修饰符的访问权限和范围)

4.类方法的应用场景

(1)当方法不涉及到任何对象相关的成员,可以将方法设计成静态方法。

(2)实际开发过程中,往往将一些通用的方法设计成静态方法,这样不用创建对象就能使用,比较方便,例如,冒泡,计算器…

5.类方法使用细节

(1)类方法和普通方法都是随着类的加载而加载,将结构信息存储在方法区中

类方法中没有this的参数

普通方法中隐含着this参数

(2)类方法可以通过类名调用,也可以通过对象名调用。

(3)普通方法需要通过对象名调用,即要先声明对象,再调用(例:对象名.方法名(参数)),不能通过类名调用。

(4)类方法中不允许使用和对象有关的关键字,比如this和super。普通方法可以。

(5)类方法(静态方法)只能访问静态变量或静态方法

(6)普通成员方法,既可以访问非静态成员,也可以访问静态成员

小结:静态方法,只能访问静态的成员,非静态方法,可以访问静态成员和非静态成员(必须遵守访问权限)