续前一篇的介绍,本篇主要介绍各种变量的使用。它的分类,请看图片“变量的分类”。下面直接贴出代码代替文字说明:
package com.ClassTests;
/************************************************
*
* @author: 瘋叻ハ.兩
* @create-time: 2011-5-17 上午10:28:02
* @revision: 1.0
* @purpose: 用代码实现图片中的描述
*
* 本人的基础群: 152380972
*************************************************/
public class VariablesTest {
// 权限控制暂定成public,初始化块"{ //... }" 暂不解释,后面专门做分析
public static String name = "张三"; // 声明类的属性
public int age = 20; // 声明对象属性
public void run(int m){ // 方法形参
int b; // 方法局部变量,main方法也可以存在
System.out.println("实参是:"+m);
//System.out.println(b); // 注释前半部分,会报错。因为变量没有初始化,那么使用时会报还未initialized(初始化)的错误
}
public static void main(String[] args){
VariablesTest vt = new VariablesTest();
System.out.println("实例访问实例属性:"+vt.age);
vt.run(5); // 形参的测试
System.out.println("类访问类属性:"+VariablesTest.name);
vt.name= "李四";// 通过实例修改类的属性,那么类的属性将会改变,导致了该类的其他实例访问也是修改的值
System.out.println("新实例访问的值:"+new VariablesTest().name);
}
}
为了加深大家区分类属性和实例属性,个人抛个问题。且看代码:
public class MethodTest1 {
public static String name;
public String name = null;
}
问:上面会发生错误吗? 为什么