成员变量和局部变量的区别:
1、在类中的位置不同
成员变量:类中方法外。
局部变量:方法内或者语句里面。
2、在内存中的位置不同
成员变量:存储才堆内存的对象中。
局部变量:存储在栈内存的方法中。
3、生命周期不同
成员变量:随着对象的出现而出现在堆中,随着对象的消失而从堆中消失。
局部变量:随着方法的调用而存在与栈中,随着方法的弹栈而消失。
4、初始化值不同
成员变量:因为在堆内存中,所以有默认的初始化值。
局部变量:没有默认的初始化值,必须手动定义,赋值,然后才能使用。
当函数中出现局部变量和成员变量同名,需要在成员变量名前面加上this.来进行二者 的区别。
匿名对象:
匿名对象:就是没有名字的对象。是对象的一种简化表示形式。
匿名对象的使用场景:当对象对方法进行调用时,而且只调用一次时,可以简化成匿名对象来书写。
匿名对象的创建:`System.out.println("Area is " + new Circle(5).getArea());`
this关键字:
针对构造函数,无法通过构造函数名来相互调用。但是构造函数之间可以通过this关键字完成。
构造函数调用格式:
this(参数列表);
class Person
{
// Person的成员属性
private int age;
private String name;
//无参数的构造函数
Person()
{
}