在Java中,如果一个静态方法想要访问类的非静态成员变量,以下哪种方式是正确的?假设类名为 `MyClass`,非静态成员变量名为 `instanceVar`,静态方法名为 `staticMethod`。

答案解析

核心考点:静态方法与非静态成员变量的访问限制。 解题思路分析:静态方法属于类,而非静态成员变量属于类的实例。静态方法不能直接访问非静态成员变量,因为静态方法调用时,可能还没有创建类的实例。必须通过类的实例才能访问非静态成员。选项A直接使用非静态变量是错误的,会导致编译错误。选项B通过创建实例来访问非静态变量是正确的。选项C将非静态变量改为静态变量虽然可以访问,但改变了题意。选项D使用this引用在静态方法中是错误的,静态方法中没有this。 选项A分析:静态方法不能直接访问非静态变量,会报错。 选项B分析:正确,通过实例访问非静态变量。 选项C分析:虽然能访问,但改变了题目意图,访问的是静态变量而非非静态变量。 选项D分析:静态方法中没有this,不能使用this。 易错点提醒:静态方法属于类,而非静态成员属于实例,静态方法不能直接访问非静态成员。
正确答案:B
随机推荐
开始刷题