首先3个问题:

创建一个学生类,成员变量是姓名和年龄,然后定义构造方法,以及setXxx方法和getXxx方法,分别来赋值和获取。
- public class Student {
-
- // 定义成员变量
- private String name;
- private int age;
-
- // 空参构造函数
- public Student()
- {
-
- }
- // 有参构造函数
- public Student(String name,int age)
- {
-
- this.name = name;
- this.age = age;
- }
-
- /*
- // 针对每一个私有化变量,都要提供get和set方法
- // set方法:给成员变量赋值
- // get方法:对外提供成员变量的值
- */
-
- // 给成员变量name进行赋值
- public void setName(String name)
- {
-
- this.name = name;
- }
- // 对外提供name属性的值
- public String getName()
- {
-
- return this.name;
- }
-
- // 给成员变量age进行赋值
- public void setAge(int age) {
-
- this.age = age;
- }
- // 对外提供age属性的值
- public int getAge() {
-
- return age;
- }
- }
举的例子其实就是个 标准的javabean类 (javabean类:用来描述一类事物的类,不需要写main方法,IDEA中快捷键是 Alt+Insert )
- public class StudentTest{
-
- public static void main(String[] args){
-
- // 创建一个Student类对象
- Student std1 = new Student();
- //创建一个带参数的Student类对象
- Student std2 = new Student("zangsan",23);
- }
- }
- public class StudentTest{
-
- public static void main(String[] args){
-
- // 创建一个Student类对象
- Student std = new Student();
- std.setName("lisi");
- std.setAge(24);
-
- String name = std.getName();
- int age = std.getAge();
- System.out.println(”姓名:“+name+” “+”年龄:“+age)
- }
- }
(1)构造方法
以三个问题回顾一下构造方法:
| Q | A |
|---|---|
| 构造方法的作用? | 创造对象的时候,由 虚拟机自动调用 ,给成员变量进行初始化的 |
| 构造方法有几种? | 无参构造方法:初始化的对象时,成员变量的数据均采用默认值。 有参构造方法:在初始化对象的时候,同时可以为对象进行赋值。 |
| 构造方法的注意事项? | (1)任何类定义出来,默认就自带了无参数构造器 (2)定义了有参构造器,无参数构造器就没有了 (3)建议在任何时候都手动写上 空参和带全部参数 的构造方法 |
(2)this关键字
可以 区分成员变量和局部变量 ,与python中的self相似;
代表方法调用者的地址。
this的内存原理如下:

(3)private关键字
面向对象三大特性:封装,继承