类中属性的使用
*
-
属性(成员变量)vs局部变量
-
1.相同点:
-
1.1定义变量的格式:数据类型 变量名=变量值
-
1.2先声明,后使用
-
1.3 变量都有作用域
-
2.不同点:
-
2.1在类中声明的位置不同
-
属性:直接定义在类的一对{}内
局部变量:声明在方法内,方法形参,代码快内,
构造器形参,构造器内部的变量 -
2.2 权限修饰符的不同
-
属性:可以在声明属性时,指明起权限,使用权限 修饰符。
-
常用的权限修饰符:private,public,缺省,protected
-
局部变量:不可以使用权限修饰符!!!!(可以理解为方法前面的修饰代替)
-
2.3默认初始化值:
-
属性:类的属性,根据其类型,都有默认初始化值。
-
整型(byte,short,int,long):0
-
浮点型(float,double)0.0
-
字符型(char):0(或'\u0000')
-
布尔型(boolean):false
-
引用型(类,数组,接口):null
-
局部变量:没有默认初始化值,意味着,我们在调用局部变量前要显式赋值。
-
特别的:形参在调用时,我们赋值即可。
-
2.4:在内存中加载的位置不同:
-
属性:加载在堆空间中(非static)
-
局部变量:加载在栈空间中
// An highlighted block
public class UserTest {
public static void main(String[] args) {
User u1=new User();
u1.talk("日语");//相当于把日语赋值给language
}
}
class User{
String name;
int age;
boolean isMale;
public void talk(String language) {//language形参,也是局部变量
System.out.println("我们用"+language);
}
public void eat() {
String food="饼干";//局部变量
System.out.println("喜欢吃");
}
}