- 类和对象
- 对象的使用
- 成员变量和局部变量
- 封装
- private关键字
- this关键字
- 封装
- 构造方法
- 创建
- 重载
- 使用方式
类是Java程序的基本组成单位
类:成员变量+成员方法
创建多个对象,堆内存中的地址值不同
package day3;
public class task3_1 {
String brand;
String model;
String inch;
public void GetInfo() {
System.out.println("品牌:" + brand);
System.out.println("型号:" + model);
System.out.println("尺寸:" + inch);
}
}
package day3;
public class task3_2 {
public static void main(String[] args) {
task3_1 p1 = new task3_1();
p1.brand = "Microsoft";
p1.model = "SurfaceBook Pro";
p1.inch = "14"";
System.out.println(p1.brand);
p1.GetInfo();
task3_1 p2 = new task3_1();
p2.brand = "Apple";
p2.model = "MacBook Pro";
p2.inch = "16"";
System.out.println(p2.brand);
p2.GetInfo();
}
}
成员变量和局部变量类中的方法,多个对象可公用,但是成员变量是不同的
- 成员变量:类中方法外的变量
- 局部变量:方法中的变量
- 成员变量和局部变量的区别
| 区别 | 成员变量 | 局部变量 |
|---|---|---|
| 类中位置不同 | 类中方法外 | 方法内或方法声明上 |
| 内存中位置不同 | 堆内存 | 栈内存 |
| 生命周期不同 | 跟随对象存亡 | 跟随方法调用存亡 |
| 初始值不同 | 有默认初始值 | 没有默认初始值,必须先定义赋值后才能使用 |
保护成员变量不会被别的类使用
package day3;
public class task4_1 {
String name;
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
if (age < 18) {
System.out.println("您还未成年!");
} else {
this.age = age;
}
}
public void getInfo() {
System.out.println(name + " " + getAge());
}
}
package day3;
public class task4_2 {
public static void main(String[] args) {
task4_1 t = new task4_1();
t.name = "Neymar JR";
// t.age = 18; // 报错,private修饰,不能在别的类中被访问
t.setAge(16);
t.setAge(20);
t.getInfo();
}
}
this关键字
this修饰的变量用于指代成员变量
this:代表所在类的对象引用
方法被哪个对象调用,this就指向哪个对象
- this的内存原理
构造方法是一种特殊的方法
作用:创建对象
功能:完成对象数据初始化
// 格式
public class 类名{
修饰符 类名(参数){
}
}
创建
- 如果没有定义构造方法,系统将会自己定义一个默认的无参构造方法
- 如果定义了构造方法,系统将不会再提供默认构造方法
- 如果自定义了带参构造方法,还要使用无参构造方法,就必须再定义一个无参构造方法
- 推荐无论是否使用,都手动写无参构造方法



