构造方法也是一种方法
我们先写一个案例
建立一个包
包下建立两个类
第一个叫 Telephone 参考代码如下
public class Telephone {
public Telephone(){
System.out.println("我是一个构造方法");
}
}
然后是叫 text 的测试类
参考代码如下
public class text {
public static void main(String args[]) {
Telephone telephone = new Telephone();
}
}
运行效果如下
这里大家就会发现两个不太一样的地方
第一 Telephone中的 Telephone方法没有声明返回值
而且我们在text中只是实例化了 Telephone类的对象 并没有的调用其中的 Telephone方法 但Telephone方法很显然是执行了的
还成功输出了语句 我是一个构造方法
这就是构造函数 特点就是 要与类同名 当类被实例化时就会自动触发 且不能有返回值
一般我们用它给类的成员变量赋值
例如 我们改一改刚才的代码
Telephone 参考代码如下
public class Telephone {
private int shou;
private String name;
public Telephone(int shou, String name){
this.shou = shou;
this.name = name;
}
public int getShou(){
return shou;
}
public String getName(){
return name;
}
}
我们定义两个成员变量 shou 和 name 然后我们定义了类中的构造函数 Telephone 接受两个参数 和我们的成员变量同名 类型也相同 然后用方法接受到的参数给成员变量赋值
在写了两个变量的 get方法 返回成员变量
text参考代码如下
public class text {
public static void main(String args[]) {
Telephone telephone = new Telephone(13,"小猫猫");
System.out.println(telephone.getShou());
System.out.println(telephone.getName());
}
}
我们可以看到 我们在实例化对象时 往里面传了构造函数所需要的类型的变量
然后就会赋值两个成员变量
然后利用实例化的对象调用了两个变量的get方法 打印出来
运行结果如下
构造函数用于初始化类的成员变量 可以接收参数 但没有返回值
那么 你学废了吗?