Java中的变量类型有哪些

发布时间:2021-11-08 17:46:17 作者:小新
来源:亿速云 阅读:311

小编给大家分享一下Java中的变量类型有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

1、局部变量

在方法或语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

2、成员变量(实例变量)

成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。

3、类变量

类变量也声明在类中,方法体之外,但必须声明为 static 类型。

关于 类变量 的说明:

The static keyword in Java is used for memory management mainly. We can apply java static keyword with variables, methods, blocks and nested class. The static keyword belongs to the class than an instance of the class. The static can be: Variable (also known as a class variable) Method (also known as a class method) Block.

(翻译)

Java 中的 static 关键字主要用于 内存管理(就是用了这个会安排出内存空间来,供类的实例之间共享某个量)。我们可以将 java 的 static 关键字施用于变量、方法、语句块和嵌套类。static 定义的对象是属于整个类的, 而不是某个类的实例。

普通的变量属于类的某一个特定的实例,但用 static 关键字修饰的变量将属于一个类。也就是说,我们通过类的某一个实例去修改一个一般的变量值,将只有这个实例中的值被修改,其他实例不受影响;而若是修改一个 static 关键字修饰的类变量,这个类的所有实例的这个值都会被修改。

说起来比较麻烦,可以看一段示例代码:

public class Static {
 public static void main(String[] args) {
  Example foo = new Example();
  Example bar = new Example();

  foo.staticVar = foo.normalVar = "foobar";

  System.out.println(foo.staticVar + "\t" + foo.normalVar);
  System.out.println(bar.staticVar + "\t" + bar.normalVar);
 }
}

class Example {
 static String staticVar = "Example";
 String normalVar = "Example";
}

输出:

foobar foobar
foobar Example

可以看到,我们只改变了 foo 实例的值,但由 static 修饰的类变量 staticVar 的改变在 bar 中也出现了,而普通的成员变量则不然。

利用这种特性,我们可以实现一种可以统计自己的实例个数的类,

例如:

public class CountingClass {
 public static void main(String[] args) {
  Counter a = new Counter();
  Counter b = new Counter();
  Counter c = new Counter();

  System.out.println("Total Counters: " + a.total + " == " + b.total + " == " + c.total);
 }
}

class Counter { // 自计数类
 static int total = 0;

 public Counter() {
  total++;
  System.out.println("第 " + total + " 个 Counter 被构造。");
 }
}

看完了这篇文章,相信你对“Java中的变量类型有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. Java有几种变量类型?
  2. js变量类型有哪些?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:Java运算符有哪些

下一篇:Java反射技术怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》