成员变量和局部变量区别
1.声明位置不同
成员变量也就是属性,在类中声明的。
局部变量,在方法中声明或代码块中声明。
2.初始值不同
成员变量如果没有赋值则是有默认值的,数据类型不同则默认值不同。
局部变量是没有默认值,也就是说必须先声明,再赋值,最后才使用。
3.在一个类中,局部变量可以与成员变量同名,但是局部变量优先,如果非要访问成员变量的属性,则必须使用 this.color
this 代表当前这个对象,也就是当前谁调用这个方法则这个对象就是谁。
对象与引用区别
对象是具体的一个实例,如:new Student(); new 表示创建一个对象,并在堆内存中开辟一块空间。
引用名称是存放的对象的地址。
内部类优点和缺点:
- 优点:内部类可以随意使用外部类的成员变量(包括私有)而不用生成外部类的对象,这也是内部类的唯一优点。(有属于自己的属性和行为)。
- 缺点:破坏原有类的程序结构(属性、构造方法、普通方法、内部类)。
构造函数
若是不定义任何的构造函数,会自动构造;如果定义了任何一个构造函数,就不会再自动构造,需要自己定义全部的构造函数。