面向对象 – (类及类的成员)
------局部变量 VS 属性(成员变量)
一、属性:
1. 标识符命名规则,能够区分合法标识符
- 标识符由26个英文字符大小写(azAZ)、数字(0~9)、下划线(_)和美元符号($)组成。
- 不能以数字开头,不能是关键字。
- 严格区分大小写。
- 标识符的可以为任意长度。
2. 声明位置
- 直接声明在类的内部
class Person(){
String name; //此处的 'name','age' 即是属性
int age;
}
3.权限修饰符的使用
- 可以在声明的类型前,指明权限修饰符。
权限修饰符:private 、protected 、缺省 、public
4.默认初始化值
- 在声明时,如果没显式赋值。则成员变量默认初始化值如下:
byte\short\int\long: 0
float\double : 0.0
char:0 或 ‘\u0000’
boolean : false
引用类型:null
5.内存中加载的位置
- 声明在堆空间中
二、局部变量:
1.标识符命名规则,能够区分合法标识符
- 标识符由26个英文字符大小写(azAZ)、数字(0~9)、下划线(_)和美元符号($)组成。
- 不能以数字开头,不能是关键字。
- 严格区分大小写。
- 标识符的可以为任意长度。
2. 声明位置
- 方法内声明的变量
public class Person(){
public static void main(String[] args){
String name; // 此处的 'name','age' 即是局部变量,因为在main()下
int age;
}
}
- 方法的形参、构造器的形参
public class Person {
String name;
int age;
public Person(String n){
}
public int addAge(int a){
return this.age += age;
}
public static void main(String[] args) {
Person person = new Person("张三"); //此处的 '张三' 即为构造器中的形参'n'赋值;
person.addAge(23); //此处 '23' 即为 addAge()中的形参 'a' 赋值;
}
}
- 代码块内声明的变量
public class Person {
{
int age; // 代码块中的变量 'age' , 'height'
int height ;
}
}
3.权限修饰符的使用
局部变量,不可以声明权限修饰符
4.默认初始化值
- 局部变量:在使用变量前,一定要进行显式初始化。即:局部变量没有默认初始化值
- 对于方法的形参而言,是在调用方法时,给形参赋值。
5.内存中加载的位置
- 声明在栈空间中