作业帮 > 综合 > 作业

关于实例变量,类变量,局部变量,参数

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/14 13:34:15
关于实例变量,类变量,局部变量,参数
参照以下Java代码,以下四个叙述中最确切的是( )
class A{
int x; static int y;
void fac(String s){Syatem.out.println("字符串:"+s);}
}
A.x、y和s都是成员变量
B.x是实例变量、y是类变量、s是局部变量
C.x和y是实例变量、s是参数
D.x、y和s都是实例变量
关于实例变量,类变量,局部变量,参数
选C
首先你得知道java中数据类型分为基本数据类型与引用数据类型.
基本数据类型:btye short int long float double char boolean
引用数据类型:String Array 等等等...(简单理解,需要new的就是引用数据类型)
int类型的数据就是基本数据类型.
不管它是不是添加了static静态修饰符的变量,它都是基本数据类型.(不要把被static修饰的变量理解错误了.)
定义在类里面的就叫做实例变量,实例变量也叫成员变量,还叫全局变量,说白了都是一个意思.
定义在方法体里面的就叫做局部变量,也就是方法名()括号里面的东西就叫做方法体.
看下面的例子,希望你理解能深刻些.
class 类名{
// 实例变量(成员变量,全局变量)
void 方法名(参数){ // 参数可以一个或多个或不写,主要看需求
// 局部变量
// 方法体 System.out.println("");
}
}
都是手写的.还有楼主你的问题分类,应该分在java比较好.
再问: 那静态变量是怎么定义的
再答: 静态变量说白了就是添加static修饰符而已。 例如: class Test{ static int i; } 即 i 就是该Test类的静态成员变量.
再问: 那y就应该是静态变量,即类变量啊
再答: 实在是对不起,我自己没认真的思维罗列,然后误导你了,今天我去认认真真的看了java中对于 成员变量,实例变量,类变量,局部变量,参数的如何定义以及它们的作用范围。 咱们从头再来分析,这次我保证一定正确。 成员变量和局部变量 成员变量是在类中定义,是在堆内存中,有默认的初始值。 例如 变量类型 初始值 String null int 0 boolean false 局部变量是定义在方法中,方法上也就是指的 方法名(局部变量,也叫参数列表) 例如: 定义main方法中的,方法上的,for循环语句的变量都是局部变量。 局部变量是在栈内存的,方法出栈了,局部变量也就消失了。 没有默认的初始值,必须初始化,不然无法访问。 成员变量中又分了了实例变量与类变量(static所修饰的成员变量)。 它们的区别: 实例变量的特点: 实例变量取决于类的实例。 每创建一个实例,java虚拟机就会为该类的实例变量分配一次内存。 类变量(静态成员变量)的特点: 类的静态成员变量在内存中只有一个。 可以直接通过类名来调用 静态成员变量随着类的加载而加载 静态变量位于方法区,被类的所有实例共享。 综上所述,那么这道题应该是这样的 class A{ int x; // 该类的实例变量 默认值为0 static int y; // 该类的类变量(被static所修饰的成员变量) ,默认值为0 void fac(String s) // s为局部变量,即对象在调用该方法时需要传递给该方法的参数 { Syatem. out. println("字符串:"+s); } } 那么应该选B。 之前的答案实在不好意思,搞乱你的思路了。