Java--类变量,类方法,main方法
类变量
????????在Java中,静态变量是属于类而不是实例的变量,也称为类变量。它们使用static
关键字声明,通常在类级别而不是在对象级别进行存储。是该类的所有对象共享的变量,任何一个该类的对象去访问他时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。
静态变量的作用包括:
-
共享数据: 静态变量是所有类的实例之间共享的,它们存储在类的静态存储区域中。因此,无论创建了多少个类的实例,它们都共享相同的静态变量。这使得静态变量成为存储在所有实例之间的共享数据的良好选择。
public class MyClass { // 静态变量 public static int count = 0; }
-
在多个实例之间保持一致性: 由于静态变量在所有实例之间共享,因此它们的值在所有实例之间保持一致。如果一个实例修改了静态变量的值,其他实例也将看到相同的值。
public class MyClass { // 静态变量 public static int count = 0; // 构造方法 public MyClass() { count++; // 每次创建实例时增加count值 } }
-
用于常量: 静态变量经常被用来表示常量,例如定义一些公共常量或配置信息。这样的变量通常使用
final
修饰符,使其值在运行时不能被修改。public class Constants { // 静态常量 public static final double PI = 3.14159; public static final String APPLICATION_NAME = "MyApp"; }
-
便于访问: 由于静态变量是与类关联而不是与实例关联的,因此可以通过类名直接访问它们,而不需要创建类的实例。
int myValue = MyClass.count; // 直接通过类名访问静态变量
????????????????需要注意的是,由于静态变量是与类关联的而不是与实例关联的,因此它们的生命周期比实例变量长。它们在类被加载时初始化,并在整个应用程序的生命周期内存在,直到程序结束或类被卸载。
? ? ? ? ? ? ? ? 语法:
? ? ? ? 访问修饰符 static 数据类型 变量名;(静态变量的访问修饰符的访问权限和范围和普通属性是一样的)
? ? ? ? ? ? ? ? 如何访问类变量
? ? ? ? 类名.类变量名
类方法
????????在Java中,类方法通常被称为静态方法(static methods)。静态方法是与类本身关联而不是与类的实例关联的方法。你可以通过使用关键字 static
来定义一个静态方法。
? ? ? ? 作用:如果我们不希望创建实例,也可以调用某个方法(即当做工具来使用)这时,就可以=把方法做成静态方法。
? ? ? ? 形式如下:
? ? ? ? 访问修饰符 static 数据返回类型 方法名(){ }
类方法的调用:
? ? ? ? 类名.类方法名 或者 对象名.类方法名
public class demo02 {
public static void main(String[] args) {
// 类方法不需要创建实例,直接调用
System.out.println(MyTools.sum(3,6));
NoMyTools noMyTools = new NoMyTools();
// 不是类方法的(实例方法)需要创建实例
double out = noMyTools.cheng(2,3);
System.out.println(out);
}
}
//类方法
class MyTools {
public static int sum (int a,int b) {
return a + b;
}
}
//实例方法
class NoMyTools{
public double cheng(double c,double d) {
return c * d;
}
}
?main方法? ? ? ?
?????????在Java中,main
方法是程序的入口点。当你运行一个Java程序时,Java虚拟机(JVM)会查找并执行main
方法。
???main
方法具有以下特征:
-
方法签名:
main
方法的签名必须是公共(public
)、静态(static
)和无返回值(void
)。它接受一个参数,即字符串数组(String[]
)类型的参数。 -
参数说明:
main
方法的参数String[] args
允许在命令行中向Java程序传递参数。args
数组包含命令行参数的值,每个元素是一个字符串。
Ending:?
????????OK,本篇文章就到此结束了,非常感谢你能看到这里,所以如果你觉得这篇文章对你有帮助的话,请点一个大大的赞,支持一下博主,若你觉得有什么问题或疑问,欢迎私信博主或在评论区指出~?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!