`
zhangyuanjava
  • 浏览: 129581 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

java之对象引用static变量

阅读更多
如下面代码



Java代码
public class Test  
{  
    public static int a = 2;  
      
    public static void main(String[] args)  
    {  
        Test t = new Test();  
          
        t = null;  
          
        System.out.println(t.a);  
    }  


public class Test
{
public static int a = 2;

public static void main(String[] args)
{
Test t = new Test();

t = null;

System.out.println(t.a);
}
}



输出为:



Java代码


2



下面的代码

Java代码
public class Test  
{  
    public static int a = 2;  
    public int b = 3;  
      
    public static void main(String[] args)  
    {  
        Test t = new Test();  
          
        t = null;  
          
        System.out.println(t.a);  
        System.out.println(t.b);  
    }  


public class Test
{
public static int a = 2;
public int b = 3;

public static void main(String[] args)
{
Test t = new Test();

t = null;

System.out.println(t.a);
System.out.println(t.b);
}
}



输出为:

Java代码

Exception in thread "main" java.lang.NullPointerException 

2
Exception in thread "main" java.lang.NullPointerException



再看下面的代码:



Java代码
public class Test  
{  
    public int a = 3;  
    public static int b = 2;  
      
    public static void main(String[] args)  
    {  
        Test t = new Test();  
          
        t = null;  
          
        System.out.println(t.a);  
        System.out.println(t.b);  
    }  


public class Test
{
public int a = 3;
public static int b = 2;

public static void main(String[] args)
{
Test t = new Test();

t = null;

System.out.println(t.a);
System.out.println(t.b);
}
}



输出为:



Java代码
Exception in thread "main" java.lang.NullPointerException 

Exception in thread "main" java.lang.NullPointerException

分享到:
评论

相关推荐

    Java之对象引用static变量

    当我们谈论“对象引用static变量”时,我们关注的是如何通过对象引用访问这些静态成员,以及这样做可能会产生的行为和后果。 首先,让我们分析给定的代码片段: 1. 在第一个例子中: ```java public class Test { ...

    Java中static变量作用和用法步骤

    static表示“全局”或者“静态”的意思,用来修饰成员...  用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象市,不生成static变量的副本,而是类的所有实例共享同一个static变量。

    Java static修饰成员变量

    Java中的`static`关键字是编程中的一个重要概念,它在Java语言中扮演着多个角色,尤其在处理类和对象时起到关键作用。`static`关键字可以用来修饰成员变量、方法、代码块以及内部类,每种情况都有其特定的含义和用途...

    Java引用变量传递诡异之处

    ### Java引用变量传递诡异之处详解 #### 背景与问题描述 在Java编程语言中,对于引用类型变量的理解及其实现方式一直是开发者们容易混淆的地方。尤其是当涉及到方法调用过程中引用变量的传递时,更是如此。本文将...

    java中static作用

    因此,static 对象可以在它的任何对象创建之前访问,无需引用任何对象。 静态方法 静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用 this 和 super 关键字,不能直接访问所属类的实例...

    java中final和static的区别

    4. 用 private 修饰的 static 成员变量和成员方法,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用),但是不能在其他类中通过类名来直接引用,这一点很...

    Java中的static关键字

    Java 中的 static 关键字是用于声明类的成员变量和成员方法的,它可以使得变量和方法属于类本身,而不属于某个对象。静态变量也称为类变量,静态方法也称为类方法。静态变量和静态方法可以直接通过类名调用,不需要...

    Java关键字final、static使用总结

    被 static 修饰的成员变量和成员方法独立于该类的任何对象,可以在它的任何对象创建之前访问,无需引用任何对象。 1、static 变量(静态变量) static 变量是独立于该类的任何对象的,可以在它的任何对象创建之前...

    Java中的成员变量

    这些变量的生命周期与对象相同,当对象被创建时初始化,当对象被垃圾回收时,它们也随之消失。可以通过对象名来访问实例变量,如`sd1.i`或`sd2.i`。此外,可以使用`this`关键字来引用当前对象的实例变量,虽然在...

    java中final和static的总结

    // 这并不改变原来的"Hello"对象,而是创建了一个新的对象并改变了引用 ``` 3. **方法参数**:如果方法参数标记为`final`,则在方法体内部无法改变该参数的值。这有助于防止意外修改。 4. **匿名内部类**:`final`...

    JAVA类与对象及数组习题

    JAVA类与对象及数组习题 JAVA类和对象及数组是JAVA编程...在JAVA中,变量的类型可以是基本类型或引用类型,例如`int`、`String`等。 14. 编程实践: 通过实际编程实践,可以加深对JAVA类和对象及数组的理解和应用。

    Java-Java面向对象中引用传递教程

    - 可以将一个对象引用赋值给多个变量,这些变量都指向同一块内存空间,因此它们都可以访问和修改对象的状态。 3. **方法调用中的引用传递** - 当一个对象作为参数传递给方法时,方法内部获得的是对象引用的副本,...

    java视频 static关键字

    在Java编程语言中,`static`关键字是一个非常重要的修饰符,它有多种用途,涉及到类、对象以及变量和方法的生命周期。本视频教程详细讲解了`static`关键字在Java中的应用及其背后的原理。 首先,我们要理解`static`...

    Java面向对象(高级)- static关键字的使用

    Java中的`static`关键字是面向对象编程中的一个重要概念,它用于修饰类的成员变量和成员方法,以及静态初始化块。在Java中,`static`关键字具有以下几个核心特点和用途: 1. **类属性与类方法的设计思想**: 类的...

    java中final与static的用法

    `final`关键字在Java中有多种用途,它可以用来修饰类、方法和变量,其主要目的是确保被修饰的对象具有不可变性或只读性。 #### 1. `final`修饰变量 当`final`用于修饰一个变量时,该变量成为常量,一旦赋值后就不...

    java变量命名心得

    "java 变量命名心得" Java 变量命名是一个非常重要的概念,它直接影响着程序的可读性和维护性。下面我们将通过一个实例来展示局部变量和实例变量的区别,并总结 java 变量命名的几个典型问题。 首先,让我们来看...

    Java实例变量、类变量、局部变量

    4. **访问方式**:实例变量可以通过对象的引用进行访问。例如,如果有一个名为`Demo`的类,那么可以通过创建`Demo demo = new Demo();`来访问其中的实例变量,如`demo.nameString`。 #### 二、类变量(静态变量) ...

    Java是值传递,传对象引用也是通过值

    标题“Java是值传递,传对象引用也是通过值”揭示了Java中参数传递的核心概念。Java总是以值传递方式进行,这意味着当你将一个变量作为参数传递给方法时,传递的是该变量所存储值的一个副本。然而,对于对象类型的...

    Java中static静态变量的初始化完全解析

    Java中的静态变量(static变量)是在类加载时初始化的,而不是在对象创建时。静态变量属于类,而不属于任何特定的对象,因此它们是共享的,所有类实例都可以访问。了解静态变量的初始化顺序对于理解和避免潜在的编程...

    面向对象与Java实现(多态、static、fina

    面向对象与Java实现:深入解析多态、static与final 面向对象编程(OOP)是一种流行的编程范式,它将现实世界中的实体抽象成类和对象,通过封装、继承和多态三大特性,使得代码更加模块化、易于维护和扩展。Java作为...

Global site tag (gtag.js) - Google Analytics