一.全局变量&局部变量
(1)全局属性 :在类中定义的属性,有初始值,能被访问修饰符修饰 【因为全局属性的作用域在整个类之中】
(2)局部属性:在方法中定义的属性,没有初始值,不能被访问修饰符修饰 【因为 局部属性的作用域只在方法里面】
二.this关键字(注意和super进行对比)
(1)this代表当前类对象
(2)用法: this.属性:调用当前类对象的属性 哪个对象跑这段代码的时候该对象就是this
this.方法: 调用当前类对象的方法
(3) this() :代表调用当前类对象的无参构造方法; 只能放在构造方法的第一行;
this(参数…):代表调用当前类对象的有参构造方法;只能放在构造方法的第一行;
三.get/set方法
四.构造方法
(1)构造方法是特殊的方法,方法名为类名,并且不允许有返回值
(2) 构造方法分为无参构造方法以及有参构造方法
无参构造方法:由系统默认提供的,而且不显示
格式: 访问修饰符 类名(){
…
}
public Person(){ System.out.println("无参构造方法"); }
有参构造方法: 需要用户自己编写
格式: 访问修饰符 类名(参数列表){
…
}
public Person(String name,int age,char sex){ System.out.println("有参构造方法"); this.name = name; this.age = age; this.sex = sex; }
(3)注意事项:
①有参构造方法 = 无参构造方法 + 多个setXXX()方法 (虽然有参构造方法可以直接给成员变量赋值,但是setXXX()方法还是有存在的意义,因为当后续需要修改对象的属性的值的时候,不能通过有参构造方法来进行修改,而是需要使用setXXX()方法进行)
②无参构造方法是系统默认提供的,一旦用户自己定义了其他构造方法,系统就不再提供无参构造方法,若用户需要的话,需要手动创建
//无参构造方法默认存在,但是一旦创建了有参构造方法,需要使用无参构造方法就必须手动创建 public Person(){ }
五.toString
(1)toString()方法用于返回对象的信息,可以使用快捷键直接生成,但需要注意的是,toString()方法并不是直接输出信息,而是把信息转换成String。
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", sex=" + sex +
'}';
}
Person{name=‘Tom’, age=18, sex=男}
Person{name=‘Lily’, age=18, sex=女}