1.面向对象
1.1 构造方法概述和格式
- 1:构造方法概述和作用
创建对象,给对象中的成员进行初始化
- 2:构造方法格式特点
a:方法名与类名相同
b:没有返回值类型,连void都没有
c:没有具体的返回值
1 public class Student {
2 private String name;
3 private int age;
4 //我们自定义的类,默认存在一个空参构造构造方法
5 //构造方法的语法:方法名跟类名相同,没有返回值,连void 也没有
6 public Student(){
7 System.out.println("空参的构造方法调用了");
8 }
9 }
1.2构造方法的重载和注意事项:
- 1:构造方法的重载
1 public class Teacher {
2 private String name;
3 private int age;
4 public Teacher(){
5 System.out.println("空参构造调用了");
6 }
7 //构造方法的重载
8 public Teacher(String name) {
9 System.out.println("一个参数的构造调用了"+name);
10 }
11 public Teacher(String name,int age) {
12 System.out.println("两个参数的构造调用了" + name+"==="+age);
13 }
14 }
- 2:构造方法注意事项
a:如果我们没有给出构造方法,系统将自动提供一个无参构造方法。
b:如果我们给出了构造方法,系统将不再提供默认的无参构造方法。
注意:这个时候,如果我们还想使用无参构造方法,就必须自己给出。建议永远自己给出无参构造方法
- 3:给成员变量赋值的两种方式
a:setXxx()方法
b:构造方法
1 public class MyTest {
2 public static void main(String[] args) {
3 //使用有参构造方法给成员变量赋值
4 Teacher teacher1 = new Teacher("zhansan");
5 Teacher teacher2 = new Teacher("wangwu", 25);
6 //使用set方法给成员变量赋值
7 teacher1.setName("lisi")
8 }
9 }
1.3 创建一个对象的步骤
- 1:步骤
(1):加载Student.class文件进内存
(2):在栈内存为s开辟空间
(3):在堆内存为学生对象开辟空间
(4):对学生对象的成员变量进行默认初始化
(5):对学生对象的成员变量进行显示初始化
(6):通过构造方法对学生对象的成员变量赋值
(7):学生对象初始化完毕,把对象地址赋值给s变量
- 2:创建对象图示
1.4 static关键字的特点及注意事项
- 1:static关键字的特点
a:随着类的加载而加载
b:优先于对象存在
c:被类的所有对象共享
d:可以通过类名调用
其实它本身也可以通过对象名调用。
推荐使用类名调用。
静态修饰的内容一般我们称其为:与类相关的,类成员