package Lx;
/**
- 构造器
- 无参构造器:当类中没有任何构造器时,编译器会给此类默认添加一个无参构造器
-
但是,一旦类中有构造器,编译器就不会再添加默认构造器
- 一般建议:设计类时.无论如何都需要手动添加无参构造器
- 生成构造器快捷键 idea是alt +insert
- 在一个类中.不能存在两个参数列表相同的构造器
- 格式:public 类名(参数列表){}
- 参数列表吧不同
-
1:参数个数不同
-
2:参数类型不同
-
3:参数的类型不同并且顺序不同
*/
public class Book {
String nema;//书名
String author;//作者
double price;//价格
//无参构造器
public Book(){
nema ="三国";
}
//有参构造器 括号中写了参数
public Book(String nm){
nema = nm;
}
public Book(String nm,String ah){
nema = nm;
author = ah;
}
public Book(String nm,String ah,double pe){
//this 调用此方法的当前调用
this(nm,ah);
price = pe;
}
public static void main(String[] args) {
//无参数
Book book = new Book();
System.out.println(book.nema);
//有参数
Book book1 = new Book("水浒");
System.out.println(book1.nema);
Book book3 = new Book("西游记","施耐庵");
System.out.println(book3.nema+","+book3.author);
//三个参数 如果参数的名字和类的属性名相同,就要区分下,哪个是参数,哪个是属性
//区分方法 :在属性前面加this
Book book2 = new Book("西游记","施耐庵",89);
System.out.println(book2.nema+","+book2.author+","+book2.price);
}
}