引用类型可分为:类引用类型、接口引用类型、数组引用类型,分别对应一下三种
Doll doll; java.lang.Runnable myThread; int[] intArray;类类型和类引用类型的区分:
/** - 变量beibei是“Doll类引用类型”的变量,而new语句创建的Doll对象属于“Doll类型”,(引用类型引用类类型) */ Doll beibei = new Doll("beibei");作用:
为对象分配内存,将对象的实例变量自动初始化为其变量类型的默认值如果实例变量在声明时被显式初始化,那就把初始化值赋给实例变量调用构造方法返回对象引用变量更具作用域的不同可分为以下类型:
成员变量:在类中声明,作用域为整个类局部变量:在方法的内部货方法的一个代码块中声明,作用域为{}内部方法参数:方法或构造方法的参数,作用域为整个方法或构造方法异常处理参数:和方法参数相似,做你哥用于为异常处理代码块成员变量可分为两种:一种是用static修饰的,静态变量,一种是不用static修饰的实例变量 区别:
静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,==静态变量位于方法区,被类的所有实例共享。==静态变量可以直接通过类名被访问。静态变量的生命周期取决于类的生命周期累的每个实例都有相应的实例变量。每创建一个实例,java虚拟机都睡为实例变量分配一次内存,实例变量位于堆区。实例变量的生命周期取决于实例的生命周期java虚拟机的某个线程调用一个方法时,会为这个方法中的局部变量分配内存,结束调用一个方法时,会结束这个方法中局部变量的生命周期 局部变量使用时的限制:
不能别static、private、protected、public修饰不能通过类名访问在同一个作用域中不允许出现多个相同名字的变量 在一个方法内,可以定义和成员变量相同的局部变量或参数,此时,成员变量被屏蔽,需要访问成员变量时使用this关键字
当一个对象创建好后,java虚拟机会自动给它分配一个默认引用:this this的使用场景:
在类的构造方法中,通过this语句调用类的另一个构造方法,有参构造中将参数赋给实例变量:this.color = color;在一个方法中局部变量或参数和实例变量同名时,用this调用实例变量在一个方法内访问当前实例的引用