Fork me on GitHub

Java基础复习--构造器

Java基础复习–构造器

前段时间有密集的考试,所以没来得及更新博客,我最近在公司参加实训,前期的主要内容是Java,正好趁这个机会将Java的基础知识再整合一下

构造器定义

构造器,又叫构造方法,是创建对象必须调用的一个方法,如果该方法不能被成功调用则对象无法创建。(如果在类中我们没有显性的定义构造方法,java会自动为我们创建一个空的无参数的构造方法)

构造器的作用

1.创建对象
2.给对象属性进行赋值(初始化)

构造器的语法

eg:

1
2
3
4
5
class Student{
public Student(){
//这是一个构造器
}
}

构造器语法定义: 访问修饰符 类名(){}

下面将用具体的例子展示构造器初始化功能

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class Animal {
public String name;

public String color;

public double weight;

public String desc;
public Animal(){//构造方法1
name = "小猫";
color = "黑色";
weight = 5.5;
desc = "一只来自北方的小猫";
}
public Animal(String a,String b,double c,String desc){
//构造方法2
//构造器的语法没有返回类型
//如果用户不提供构造器则系统默认提供一个无参的构造器
name = a;
color = b;
weight = c;
this.desc = desc;
}

public static void main(String[] args){
Animal a1 = new Animal();
Animal a2 = new Animal("小狗","黄色",5.6,"我是一只来自南方的小狗");
}
}

在上面的实例中对象a1调用的是构造方法1,对象a2调用的是构造方法2,分别表示了不带参数的构造方法,和带参数的构造方法,前者将属性的初值直接写在构造器中这个过程是静态的也就是直接写死的,后者可以在调用构造函数的时候动态地赋初值

注意:
在构造函数2中,第四个参数desc

1
2
3
4
5
6
public Animal(String a,String b,double c,String desc){
name = a;
color = b;
weight = c;
this.desc = desc;
}

这里用到了this,原因是形参与类的属性名恰好相同,如果此时将赋值语句写成这样

1
desc = desc;

计算机不能知道你所指的desc到底是类的属性还是形参,所以此时需要用this.desc来唯一的指定类的desc属性

-------------本文结束感谢您的阅读-------------
0%