一、成员变量和局部变量
当成员变量和局部变量名字一样时,遵循就近原则——谁离我近,我就用谁
public class GirlFriend { private int age; 成员变量 public void method() { int age = 10; 局部变量 System.out.printIn(age); //10,age此时值为局部变量的值 } } |
public class GirlFriend { private int age; 成员变量 public void method() { int age = 10; 局部变量 System.out.printIn(this.age); //this.age此时的值为成员变量的age } } |
public class GirlFriend { private int age; 成员变量 <——————| public void method() { | //int age = 10; 局部变量 | System.out.printIn(this.age); 就近原则---------- } //若没有局部变量值,age离成员变量最近,此时this.可不写 } |
对比两张图左边 this的作用:可以区别成员变量和局部变量
二、构造方法概述
构造方法也叫构造器、构造函数
作用:在创建对象的时候给成员变量进行初始化的。
public class Student { 修饰符 类名(参数){ 方法体; } } | 特点:1、方法名与类名相同,大小写 也要一致。 2、没有返回值类型,连void都没有 3、没有具体的返回值(不能由return带 回结果数据) 执行时机: 1、创建对象的时候由虚拟机调用,不能 手动调用构造方法 2、每创建一次对象,就会调用一次构造 方法 |
public class Student { private String name; private int age; public Student( ) { ..... 空参构造方法 } public Student(String name,int age) { ...... 带全部参数构造方法 } } |
1、构造方法的作用:
- 创建对象的时候,由虚拟机自动调用,作用是给成员变量进行初始化的。
2、构造方法有几种,各自的作用是什么?
- 无参数构造方法:初始化的对象时,成员变量的数据均采用默认值。
- 有参数构造方法:在初始化对象的时候,同时可以为对象进行赋值。
构造方法注意事项
①构造方法的定义
-
如果没有定义构造方法,系统将给出一个默认的无参数构造方法
-
如果定义了构造方法,系统将不再提供默认的构造方法
②构造方法的重载
-
带参构造方法,和无参数构造方法,两者方法名相同,但是参数不同,这叫做构造方法的重载
③推荐的使用方式
-
无论是否使用,都手动书写无参数构造方法,和带全部参数的构造方法