• Java中三种变量


    Java三大变量分别是类变量(静态变量)、实例变量和局部变量(本地变量)

    局部变量就是本地变量,在方法、构造器或者块中使用,在方法、构造器或者块进入时被创建,一旦退出该变量就会被销毁

    局部变量没有默认值,因此本地变量必须被声明并且在第一次使用前要给它赋值

    实例变量:在类中声明,但是它在方法、构造器或者块外,当堆中的对象被分配了一个空间时,每个实例变量的位置就被创建了。

        当对象采用关键字“new”创建时实例变量就被创建了,当对象被销毁时它也就被销毁了。

        实例变量的值必须被一个以上的方法、构造器或者块,或者类中必须出现的对象的状态的重要部分所引用

        实例变量可以用访问描述符

        实例变量有默认值。数字的默认为0,boolean的默认为false,对象引用默认值为NULL

        实例变量可以直接采用在类中叫名字方式访问。然而在静态方法和不同的类中应当使用完全限定名称。ObjectReference.VariableName

    实例变量是归属于类的实例的变量,又称为成员变量,没有经过static修饰。实例变量只能通过类名的实例+点操作符+变量来操作。

    类变量:也叫静态变量,在类中用static关键字声明,但是它在方法、构造器或者块之外。

        每个类只有一个类变量,不管这个类有多少个对象。

        除了作为常量被声明之外,类变量很少被应用。常量是被作为public、private、final和static被声明的变量。实例变量的初始值不会被改变

        静态变量存储在静态内存中,很少采用静态变量而不是声明结束或者用常量public或private之一。

        静态变量随着程序的开始和结束而开始和结束。

        可见性和实例变量类似。然而大多数静态变量被声明为public由于他们必须为类的使用者所用。

        默认值和实例变量类似,除此之外,可以在特殊的静态初始化区赋值

        静态变量可以用类的名称访问ClassName.VariableName

        当静态变量被作为public static final声明时,变量(常量)名称都要用大写字母。如果静态变量不是public和final,它的命名方法和实例变量和本地变量相同。

    类变量不仅可以直接通过类名+点操作符+变量名来操作,也可以通过类的实例+点操作符+变量来操作,大多数情况下,采用前者操作方式,一来不能够有效地使用该变量,二来能够表示该变量就是类变量。

    例子:

     1 /** 
     2  *<p>Title:Java三大变量</p> 
     3  *<p>Description:演示Java三大变量的特性</p> 
     4  *<p>Copyright:copyright(c) 2012</p> 
     5  *<p>Filename:VariableType.java</p> 
     6  *@author 王路情 
     7  *@version 1.0 
     8  */  
     9 public class VariableType  
    10 {  
    11  //定义类变量  
    12  public static String name = "王路情";  
    13  //定义实例变量  
    14  public char sex = 'M';  
    15   
    16  /** 
    17   *方法描述:输出对中国祝福的内容 
    18   *输入参数:String str 
    19   *返回类型:void 
    20   */  
    21  public String print(String str)  
    22  { //定义局部变量  
    23    String str1 = "中国,";  
    24     
    25    return str1 + str;  
    26  }  
    27  /** 
    28   *方法描述:主方法 
    29   *输入参数:String[] args 
    30   *返回类型:void 
    31   */  
    32   
    33  public static void main(String[] args)  
    34  {  
    35   System.out.println("类变量");  
    36   System.out.println("名字:" + VariableType.name);  
    37     
    38   VariableType type = new VariableType();  
    39   System.out.println("实例变量");  
    40   System.out.println("性别:" + type.sex);  
    41   System.out.println("局部变量");  
    42   System.out.println("祝福:" + type.print("我爱你!") ); }  
    43 }  
  • 相关阅读:
    [LeetCode]题解(python):053-Maximum Subarray
    [LeetCode]题解(python):052-N-Queens II
    [LeetCode]题解(python):051-N-Queens
    [LeetCode]题解(python):050-Pow(x, n)
    [LeetCode]题解(python):049-Group Anagrams
    [LeetCode]题解(python):048-Rotate Image
    构建之法阅读笔记01
    软件工程第一周开课博客
    第二周作业:返回一个整数数组中最大子数组的和
    第二周javaweb学习进度表
  • 原文地址:https://www.cnblogs.com/oraser/p/6428286.html
Copyright © 2020-2023  润新知