Java的变量在使用前必须声明,声明变量的格式如下:
Java数据类型 变量名1,变量名2......
int a,b,c;//声明了a,b,c三个int类型的变量
a=10;//初始化int变量a
chart d = 20;//声明类型为char的变量d,并且初始化.
Java中变量分为三类:
类变量、实例变量、局部变量
如下所示:
class Phone{
//类变量
static String TYPR = "iPhone";
//实例变量
String name;
void age(){
//局部变量
Integer age = 10;
}
}
局部变量的定义及使用:
1、局部变声明早方法、构造器、或者语句块中;
2、局部变量在其声明的方法、构造器、语句块被执行的时候创建,在执行完成后被销毁;
3、局部变量没有修饰符;
4、局部变量只在他声明的结构内可见,出了该结构则变成非法的变量;
5、局部变量实在栈上分配的;
6、局部变量没有初始值,必须初始化才可以使用。
class LocalVariable {
public static void main(String[] args) {
method();
}
static void method() {
String type;
String name = "Riven";
System.out.println(name);
//编译错误:Variable 'type' might not have been initialize;
//System.out.println(type);
}
//没有办法在离开局部变量生命的构造之外访问到局部变量;
// name ="Catlinot";
}
实例变量(成员变量)的定义及使用
1、实例变量声明在一个类中,但是在方法、构造器、语句块之外;
2、实例变量的值在在对象初始化的时候就确定了.(实例变量相当于你的名字,出生就有,如果你父母来不及取,默认是宝宝)
3、实例变量在对象创建的时候创建,在对象销毁的时候被销毁;
4、实例变量可以被一个方法、构造器、语句块引用,以获得其内容;
5、实例变量可以声明在使用前或者使用后;
6、实例变量可以使用访问修饰符,一般为privte;
7、实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null;
8、实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名;
class MemberVariable{
//成员变量
private String name;
public String type;
public MemberVariable(String name) {
//在实例化这个对象的时候实例化name
this.name = name;
}
/**
* 返回成员的值
* @return
*/
public String getName(){
return this.name;
}
/**
* 为type赋值
* @param type 赋值内容
*/
public void setType(String type){
this.type = type;
}
/**
* 返回type的值
* @return
*/
public String getType(){
return this.type;
}
/**
* 使用成员变量
*/
void method(){
//使用成员变量
System.out.println(name);
}
public static void main(String[] args) {
MemberVariable riven = new MemberVariable("Riven");
riven.setType("战士");
String typr = riven.getType();
System.out.println(typr);
riven.method();
}
}
类变量(静态变量)的定义及使用:
1、类变量就是在实例变量前面加一个static的修饰符形成的变量;
2、无论类创建多少个对象,类变量都只有一份,类对象拥有的是该唯一一份类对象的拷贝;
3、类变量除了被声明为常量外很少使用。
4、产量格式范文修饰符 static final java类型 常量名 = 常量值
常量初始化后就不可改变,常量名建议全部大写,单词间隔使用“-”分割;
5、类变量在程序就开始时创建,在程序结束时是销毁;
6、默认值和实例变量相似。数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化;
7、类变量可以直接通过类名.类变量名来访问;
class ClassVariable {
//常量
public static final String TYPE = "法师";
//类变量
static String name;
static {
//类变量可以在静态代码块里面进行初始化
name = "Fize";
}
void method() {
String type = ClassVariable.TYPE;
System.out.println(type);
//可用通过类名.变量名的方式访问
String name = ClassVariable.name;
System.out.println(name);
}
public static void main(String[] args) {
ClassVariable cv = new ClassVariable();
cv.method();
}
}```