局部变量和成员变量
学习时间:20201028
要求:每天100行以上代码量
学习产出:
变量的分类有两种:
1.根据数据类型分类
根据类型分类:基本数据类型和引用数据类型。
基本数据类型:byte short int long float double boolean char。
引用数据类型:类、接口、数组。
2.根据位置分类
根据位置分类分为局部变量和成员变量
局部变量和成员变量相同点:
1.都是先声明后使用
2.声明方式相同
3.都有作用域
局部变量和成员变量不同点:
1位置上
局部变量声明在方法、代码块、构造器内部、形参
成员变量在类中,局部方法声明出外部
2默认值
局部变量没有默认值(编译不通过报错变量没有初始化)编译器直接报错
成员变量有默认值
public class VariableTest {
public static void main(String[] args) {
People people = new People();
System.out.println(people.age);
System.out.println(people.higth);
System.out.println(people.name);
System.out.println(people.female);
}
}
class People{
String name ;
int age;
double higth;
boolean female;
public People() {
}
public People(String name) {
}
}
基本类型为数组中基本类型的初始值,引用类型为null。
3.权限修饰符上
局部变量不能使用权限修饰符(编译报错)
成员变量有四种修饰符 public protected private 缺省的
4.内存
局部变量在栈中
成员变量在堆中的对象中