Java封装1-5编程练习,应该怎么改?
package com.imooc.test;
public class Book {
//私有属性:书名、作者、出版社、价格
private String title;
private String author;
private String publisher;
private double price;
//通过构造方法实现属性赋值
/*通过公有的get/set方法实现属性的访问,其中:
1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10
2、限定作者、书名均为只读属性
*/
// 无参构造方法
public Book() {
}
//多参构造方法,实现对学号、姓名、性别、年龄的赋值
public Book(String title, String author, String publisher, double price) {
this.setTitle(title);
this.setAuthor(author);
this.setPublisher(publisher);
this.setPrice(price);
}
// 多参构造方法,实现对全部属性的赋值
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public void setAuthor(String author) {
this.author = author;
}
public String getAuthor() {
return author;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
public double getPrice() {
if (price < 10)
System.out.println("图书价格最低10元");
return price;
}
public void setPrice(double price) {
if (price < 10)
this.price = 10;
else
this.price = price;
}
public String introduction() {
String str = "书名:" + this.getTitle() + "\n作者:" + this.getAuthor() + "\n出版社:"
+ this.getPublisher() + "\n价格:" + this.getPrice()+"元";
return str;
}
}
package com.imooc.test;
public class BookTest {
public static void main(String[] args) {
//
Book one = new Book("红楼梦", "曹雪芹", "人民文学出版社", 5);
Book two = new Book("小李飞刀", "古龙", "中国长安出版社", 55.5);
System.out.println(one.introduction());
System.out.println("==========================");
System.out.println(two.introduction());
}
}
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星