(1) 在Java语言中,根据定义变量的位置不同,可以将变量分成两大类;成员变量和局部变量。 (2)成员变量 成员变量包括类变量(用static修饰的变量)和实例变量(不用static修饰的变量) 一个类在使用之前要经过类加载、类验证、类准备、类解析、类初始化等几个阶段 类变量: 类变量在类准备阶段起开始存在,直到系统完全销毁这个类。类变量属于类,并且与类共存亡,类变量在内存中有且只有1份,通过类名.类变量 来调用。 实例变量: 实例变量在类的实例创建时开始存在,直到系统完全销毁这个实例。实例变量属于对象,通过对象.实例变量类当用,当然类变量也可以使用对象.类变量来访问。 但是需要注意的是,通过对象.实例变量调用实例变量的过程中,该实例变量仍然属于类,而不属于当前的对象 如: package cn.bytecollege.variable; /** * 学生类 * @author Ray * */ public class Student { //静态成员变量 班级 public static String grade;
} package cn.bytecollege.variable; /** * 测试类 * @author Ray * */ public class Test { public static void main(String[] args) { // TODO Auto-generated method stub //为类变量grade赋值 Student.grade = "三班"; //创建对象student1 Student student1 = new Student(); //创建对象student2 Student student2 = new Student(); //通过对象.类变量的方式调用静态变量并修改值 该静态变量属于全体对象 student1.grade = "一班"; System.out.println(student2.grade);//输出:一班 服务器托管 } }
(3)局部变量
1. 分支结构内定义的变量 2. 循环结构内定义的变量 3. 方法内定义的变量 4. 方法参数列表中的变量 5. 代码块中定义的变量 所有局部变量的作用范围都是离定义变量最近的大括号内 如: 服务器托管 package cn.bytecollege.variable; public class Test1 { /** * 测试类 * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //定义字符数组charArray String[] stringArray = new String[4]; //for 循环中的循环变量就是局部变量 for(int i=0;i
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
31、 Object-C对象如何进行内存布局? 1,所有父类的成员变量和自己的成员变量(实例变量、私有变量、以及声明为属性生成的变量)都会存放在该对象所对应的存储空间中。 2,每个对象内部都有一个isa指针,指向他的类对象,类对象中存放着本身对象的a,对象方法…