前言

学习Java的过程中,一开始很容易被这些各种变量绕晕,这篇博客主要介绍了这几种变量之间的关系和区别。

实例

  1. package com.cunyu.demo
  2. public class Demo {
  3. private String name; //成员变量、实例变量
  4. private int age; //成员变量、实例变量
  5. private int ID; //成员变量、实例变量
  6. public static final String school = "卡塞尔学院"; //成员变量、静态变量(类变量)
  7. public static String level = "SSS"; //成员变量、静态变量(类变量)
  8. public int getAge() {
  9. return age;
  10. }
  11. public int getId() {
  12. return ID;
  13. }
  14. public String getName() {
  15. return name;
  16. }
  17. public void setAge(int age) {
  18. this.age = age;
  19. }
  20. public void setId(int ID) {
  21. this.ID = ID;
  22. }
  23. public void setName(String name) {
  24. this.name = name;
  25. }
  26. public void study(){
  27. String subject1 = "屠龙"; //局部变量
  28. String subject2 = "炼金术"; //局部变量
  29. System.out.println("学习科目: " + subject1 + "、" + subject2);
  30. }
  31. public static void main(String[] args) {
  32. Demo demo = new Demo();
  33. demo.setAge(23);
  34. demo.setId(14000001);
  35. demo.setName("楚子航");
  36. System.out.println("ID: " + demo.getId() + "Age: " + demo.getAge() + "Name: " + demo.getName());
  37. System.out.print("主修科目: ");
  38. demo.study();
  39. System.out.println("学院:" + Demo.school);
  40. System.out.println("等级:" + Demo.level);
  41. }
  42. }

各变量联系与区别

成员变量

作用范围是整个类,相当于C中的全局变量,定义在方法体和语句块之外,一般定义在类的声明之下;成员变量包括实例变量和静态变量(类变量);

实例变量

独立于与方法之外的变量,无static修饰,声明在一个类中,但在方法、构造方法和语句块之外,数值型变量默认值为0,布尔型默认值为false,引用类型默认值为null;

静态变量(类变量)

独立于方法之外的变量,用static修饰,默认值与实例变量相似,一个类中只有一份,属于对象共有,存储在静态存储区,经常被声明为常量,调用一般是类名.静态变量名,也可以用对象名.静态变量名调用;

局部变量

类的方法中的变量,访问修饰符不能用于局部变量,声明在方法、构造方法或语句块中,在栈上分配,无默认值,必须经初始化;

总结

以上就是关于 Java 编程中,静态变量、类变量、实例变量、局部变量以及成员变量之间的相关区别了。读完本文,你是否对这几个变量之间能进行一定程度上的区分了呢?