目录
讲super和this之前,我们需要了解什么是构造器
构造器的定义
造器通常也叫构造方法、构造函数,构造器在每个项目中几乎无处不在。当你new一个对象时,就会调用构造器。构造器格式如下:
构造器格式 public+类名
class A{
public A(/*可以存在参数*/){
//没有return
}
}
ps:如果不希望被定义的对象被外部创建(也就是实例化),可以将构造器的修饰符改为private即可。
构造器类型
默认构造器
当我定义一个类,没有写任何构造器,这时候系统就会默认生成一个无参构造器,当我们手动添加一个构造器,那么默认的就会消失
无参构造器
自己声明的构造器,没有参数,可能是为了输出某些东西,毕竟无参构造器和默认构造器一样的
public class Name{
public Name(){
System.out.println(这是无参构造器");
}
}
有参构造器
一般的,我们自己定义的是有参构造器,或者是有参构造器中的全参构造器
全参构造器是给所有属性进行赋值。
public class Phone {
private String brand;
private String color;
private double price;
public Phone(double price,String brand,String color){
this.color = color;
this.brand = brand;
this.color = color;
}
}
构造器的重载
和普通方法一样,构造器也支持重载。
ps: 一个对象中是可以支持同时定义多个构造器,通过不同的参数列表来实现重载。
public class Phone {
private String brand;
private String color;
private double price;
public Phone(){
.........
}
public Phone(String brand){
.........
}
public Phone(double price){
.........
}
public Phone(double price,String brand,String color){
.........
}
}
toString写法
程序打印对象,或者把对象自动转为字符串时,实际上用的是该对象的toString方法。
也就是调用toString方法 可以直接把对象转化为字符串输出来。
格式如下:
public class Phone {
private String brand;
private double price;
public String toString(){
return "price:"+price +" " + "brand:"+ brand;
}
}
标准类写法
1.属性成员变量
2.无参数构造器
3.全参数构造器
4.写toString写法
请动动读者大大的小手手 关注一波 小小作者 帮忙涨涨粉丝 ,谢谢啦。