黑马程序员技术交流社区

标题: 看个选择题,哪个错,说下为什么错? [打印本页]

作者: 天天小志    时间: 2014-11-17 22:45
标题: 看个选择题,哪个错,说下为什么错?
  下面关于变量及其范围的陈述哪些是对的? (   )
A. 实例变量(区别于类变量,属于对象的变量)是类的成员变量。
B. 实例变量用关键字static声明。
C. 在方法中定义的局部变量在该方法被执行时创建
D. 局部变量在使用前必须被初始化。

作者: 迷失的小Z    时间: 2014-11-17 23:03
C肯定是对的  
作者: 依米阳光    时间: 2014-11-20 08:17
是一个多选题,选ACD    被static修饰的变量称为静态变量了
作者: dong53821713    时间: 2014-11-20 08:30
B.static修饰的变量被所有对象共享是类变量不是实例变量
作者: 菜鸟一号    时间: 2014-11-20 09:30
我选B是错的
作者: qq8921310    时间: 2014-11-20 10:56
a 不对,我觉得应该是CD吧,因为 成员变量 包括静态的和非静态的. 范围不一样

作者: 艾维苏    时间: 2014-11-20 12:01
我感觉是CD~
作者: DamonZh    时间: 2014-11-20 12:07
就b错了
作者: 张向阳    时间: 2014-11-20 12:33
类变量也叫静态变量,也就是在变量前加了static 的变量;
实例变量也叫对象变量,即没加static 的变量;
区别在于:
   类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;

所以AB都是错的,CD是对的
作者: 王小忠    时间: 2014-11-20 14:25
首先A选项类的成员变量包括类变量和实例变量,实例变量是没有static 修饰的,属于对象的变量,A正确,那么显然B就错啦.方法中的局部变量只有在方法被调用时才开始创建,调用结束后,局部变量也就被释放了,而且,局部变量必须初始化,所以CD也是正确的,综上所述:ACD
作者: 天天小志    时间: 2014-11-20 20:48
qq8921310 发表于 2014-11-20 10:56
a 不对,我觉得应该是CD吧,因为 成员变量 包括静态的和非静态的. 范围不一样
...

A是对的,实例其实就是对象的意思,所以是对的
作者: 天天小志    时间: 2014-11-20 20:49
张向阳 发表于 2014-11-20 12:33
类变量也叫静态变量,也就是在变量前加了static 的变量;
实例变量也叫对象变量,即没加static 的变量;
区 ...

A是对的,因为它是对象的变量,当然区别于类变量了
作者: Eagle    时间: 2014-11-20 22:03
例子:
class Demo
{
     private int a;//实例变量
     public void method()
     {
           int x = 0;//局部变量
     }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2