构造方法
特殊性
1)构造方法的方法名和类名相同
2)没有具体返回值类型
3)关键是连void都没有
构造方法的目的是什么?
就是给成员变量赋值的
构造方法的使用的注意事项
1)构造方法中,是没有返回值类型的,连void没有,不要随意定义构造方法..
2)当写的一个类(非测试类)时,没有提供任何构造方法的时候系统会默认给我们提供无参构造方法;
3)如果我们给了其中的有参构造方法,系统不会在提供无参构造方法,那么如果你使用 无参构造方法new 对象的话,就报错!
给成员变量数据初始化----两种
1)通过无参构造方法+setXXX()赋值,通过getXXX()获取值
2)通过有参构造方法直接赋值,+getXXX()获取值
public class Phone {
private String brand;
private int price;
private String color;
private String memory;
//无参构造方法
public Phone() {
}
//有参构造方法
public Phone(String brand, int price, String color, String memory) {
this.brand = brand;
this.price = price;
this.color = color;
this.memory = memory;
}
public String getBrand(){
return brand;
}
public void setBrand(String brand){
this.brand=brand;
}
public int getPrice(){
return price;
}
public void setPrice(int price){
this.price=price;
}
public String getColor(){
return color;
}
public void setColor(String color){
this.color=color;
}
public String getMemory(){
return memory;
}
public void setMemory(String memory){
this.memory=memory;
}
public void callPhone(String name){
System.out.println("打电话给某人"+name);
}
public void sendMes(String name){
System.out.println("发消息给"+name);
}
public void playGame(String gamename) {
System.out.println("玩" + gamename + "游戏");
}
}
public class PhoneTest2 {
public static void main(String[] args){
//无参构造
Phone pho=new Phone();
pho.setBrand("小米12");
pho.setColor("白色");
pho.setPrice(4399);
pho.setMemory("128G");
System.out.println("手机品牌是" + pho.getBrand() + " 颜色是" + pho.getColor() + " 价格是" + pho.getPrice() + " 内存是" + pho.getMemory());
pho.callPhone("杨同事");
pho.sendMes("王小二");
pho.playGame("LOL");
//有参构造
Phone pho2=new Phone("mi",4699,"白色","128G");
System.out.println("手机品牌是" + pho2.getBrand() + " 颜色是" + pho2.getColor() + " 价格是" + pho2.getPrice() + " 内存是" + pho2.getMemory());
pho2.callPhone("杨同事");
pho2.sendMes("王小二");
pho2.playGame("LOL");
}
}
一个的类的成员有哪些呢?
成员变量
构造方法
成员方法