java类变量与类方法

简介: 1.类变量与类方法简介static 修饰符,用来修饰类方法和类变量静态变量:static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量静态变量使用得比较少,但静态常量却使用得比较多😊静态方法:static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据对类变量和方法的访问可以直接使用 classname.variablename 和 classname.methodname 的方式访问🎂


1.类变量与类方法简介


static 修饰符,用来修饰类方法和类变量


静态变量:


static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量


静态变量使用得比较少,但静态常量却使用得比较多😊


静态方法:


static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据


对类变量和方法的访问可以直接使用 classname.variablename 和 classname.methodname 的方式访问🎂


public static final double PI = 3.1415926;


2.类变量内存布局


静态变量被所有对象的实例共享,所有的对象实例共同指向内存中的一个空间,所以静态变量的变化对于所有的对象实例是共通的


这个共同的空间存储位置要看你的JDK版本,JDK8之前,该空间位于方法区,JDK8之后,该空间位于堆中


另外,这个空间在类加载的时候生成!所以即使没有创建对象实例也能访问!😁


类变量的声明周期是随着类的加载开始,随类的消亡而消亡🃏


3.类方法


静态方法是一种不能向对象实施操作的方法


可以认为静态方法是没有this参数的方法(在一个非静态的方法中,this参数表示这个方法的隐式参数)


在下面两种情况下使用静态方法:


一个方法不需要访问对象状态,其所需参数都是通过显式参数提供(例如:Math.pow)

一个方法只需要访问类的静态域

在一些工具类,经常使用的类中易使用静态方法(其他类调用方便,不需要创建实例)


public static final double PI = 1.1314926;
public static void showPI() {
    System.out.println(PI);
}
目录
相关文章
|
1天前
|
存储 Java 编译器
【Java开发指南 | 第八篇】Java变量、构造方法、创建对象
【Java开发指南 | 第八篇】Java变量、构造方法、创建对象
16 3
|
1天前
|
Java
Java String 避免空指针的方法
Java String 避免空指针的方法
4 0
|
1天前
|
安全 Java 开发者
Java一分钟之-文件与目录操作:Path与Files类
【5月更文挑战第13天】Java 7 引入`java.nio.file`包,`Path`和`Files`类提供文件和目录操作。`Path`表示路径,不可变。`Files`包含静态方法,支持创建、删除、读写文件和目录。常见问题包括:忽略异常处理、路径解析错误和权限问题。在使用时,注意异常处理、正确格式化路径和考虑权限,以保证代码稳定和安全。结合具体需求,这些方法将使文件操作更高效。
11 2
|
1天前
|
安全 Java 开发者
Java一分钟之-Optional类:优雅处理null值
【5月更文挑战第13天】Java 8的`Optional`类旨在减少`NullPointerException`,提供优雅的空值处理。本文介绍`Optional`的基本用法、创建、常见操作,以及如何避免错误,如直接调用`get()`、误用`if (optional != null)`检查和过度使用`Optional`。正确使用`Optional`能提高代码可读性和健壮性,建议结合实际场景灵活应用。
19 3
|
1天前
|
Java
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
14 4
|
1天前
|
安全 Java 数据安全/隐私保护
Java一分钟之-Java反射机制:动态操作类与对象
【5月更文挑战第12天】本文介绍了Java反射机制的基本用法,包括获取Class对象、创建对象、访问字段和调用方法。同时,讨论了常见的问题和易错点,如忽略访问权限检查、未捕获异常以及性能损耗,并提供了相应的避免策略。理解反射的工作原理和合理使用有助于提升代码灵活性,但需注意其带来的安全风险和性能影响。
23 4
|
1天前
|
安全 Java 调度
Java一分钟:多线程编程初步:Thread类与Runnable接口
【5月更文挑战第11天】本文介绍了Java中创建线程的两种方式:继承Thread类和实现Runnable接口,并讨论了多线程编程中的常见问题,如资源浪费、线程安全、死锁和优先级问题,提出了解决策略。示例展示了线程通信的生产者-消费者模型,强调理解和掌握线程操作对编写高效并发程序的重要性。
45 3
|
1天前
|
小程序 Java 容器
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
9 0
|
1天前
|
Java
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
7 0
|
1天前
|
存储 Java 定位技术
轻松理解Java中的数据类型和变量
轻松理解Java中的数据类型和变量
8 0