老师,麻烦讲解一下,为什么构造方法是这样写的?
public class BookTest { public static void main(String[] args) { Book a=new Book("红楼梦","曹雪芹"); Book b=new Book("小李飞刀", "古龙"); a.setBookHouse("人民文学出版社"); b.setBookHouse("中国长安出版社"); a.setPrices(8); b.setPrices(55.5); System.out.println(a.info()); System.out.println("================================"); System.out.println(b.info()); } }
public class Book { private String bookName,author,bookHouse; private double prices; public String getBookName() { return bookName; } public String getAuthor() { return author; } public Book(String bookName,String author) { this.bookName=bookName; this.author=author; } public String getBookHouse() { return bookHouse; } public void setBookHouse(String bookHouse) { this.bookHouse = bookHouse; } public double getPrices() { return prices; } public void setPrices(double prices) { if(prices<=10) { System.out.println("图书价格最低为10元"); this.prices=10.0; }else this.prices = prices; } public String info() { String info="书名:"+this.getBookName()+"\n作者:"+this.getAuthor()+"\n出版社:"+this.getBookHouse()+"\n价格"+this.getPrices()+"元"; return info; } }
0
收起
正在回答
2回答
同学你好,这里可以这样理解,1、构造方法可以将多个参数传入,在初始化对象的时候,将属性一一赋值,但是单个的set方法,只能对本属性来赋值哦!
如上就是对书名和作者的赋值哦!
2、通常的构造方法中是对属性的赋值,比如:this.bookName=bookName;是对书名属性的赋值,但是没有任何判断哦!
3、set方法可以对属性的添加进行判断哦,同样可以将属性赋值的set方法用于构造方法中,比如:
public Book(String bookName,String author,double prices) { this.bookName=bookName; this.author=author; this.setPrices(prices);//通过set方法对属性赋值 }
如上就是通过setPrices方法添加了判断对属性的赋值哦!
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星