老师这段编程题,我有点没理解
书名、作者是只读属性,那还能赋初值吗?...
是在测试方法里赋初值?
您看看我这个代码,写的对不对。
public class BookTest {
// 测试方法
public static void main(String[] args) {
//实例化对象,调用相关方法实现运行效果
Book book1 =new Book("红楼梦","曹雪芹","人民文学出版社",10.0);
Book book2 =new Book("小李飞刀","古龙","中国长安出版社",55.5);
book1.book_Info(book1.getName(),book1.getAuthor(),book1.getChuban(),book1.getPrice());
System.out.println("\n"+"*************************");
book2.book_Info(book2.getName(),book2.getAuthor(),book2.getChuban(),book2.getPrice());
}
}
-----------------------------------另一段代码---------------------------------------------
public class Book {
//私有属性:书名、作者、出版社、价格
private String name;
private String author;
private String chuban;
private double price;
//通过构造方法实现属性赋值
public Book(String name,String author,String chuban,double price){
this.name = name;
this.author = author;
this.chuban = chuban;
this.price = price;
}
public String getName(){
return this.name;
}
public String getAuthor(){
return this.author;
}
public String getChuban(){
return this.chuban;
}
public double getPrice(){
return this.price;
}
public void SetChuban(String chuban){
this.chuban = chuban;
}
public void SetPrice(double price){
if (price<=10) {this.price=10;System.out.println("图书价格最低10元!");}
else {this.price = price;}
}
/*通过公有的get/set方法实现属性的访问,其中:
1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10
2、限定作者、书名均为只读属性
*/
public void book_Info
(String name,String author,String chuban,double price){
System.out.print("书名:"+name
+"\n"+"作者:"+author
+"\n"+"出版社:"+chuban
+"\n"+"价格:"+price);
}
//信息介绍方法,描述图书所有信息
}
正在回答 回答被采纳积分+1
你可以参考下我的代码对比一下
public class Book { // 私有属性:书名、作者、出版社、价格 private String name; private String author; private String press; private double price; // 通过构造方法实现属性赋值 public Book(String name, String author, String press, double price) { this.name = name; this.author = author; this.setPress(press); this.setPrice(price); } /* * 通过公有的get/set方法实现属性的访问,其中: 1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10 2、限定作者、书名均为只读属性 */ public String getName() { return name; } public String getAuthor() { return author; } public String getPress() { return press; } public void setPress(String press) { this.press = press; } public double getPrice() { return price; } public void setPrice(double price) { if (price <= 10) { System.out.println("图书价格最低10元"); this.price = 10; } else { this.price = price; } } // 信息介绍方法,描述图书所有信息 public void introduce() { System.out.println("书名:" + this.getName()); System.out.println("作者:" + this.getAuthor()); System.out.println("出版社:" + this.getPress()); System.out.println("价格:" + this.getPrice() + "元"); } }
public class BookTest { // 测试方法 public static void main(String[] args) { //实例化对象,调用相关方法实现运行效果 Book one=new Book("红楼梦","曹雪芹","人民文学出版社",10); Book two=new Book("小李飞刀","古龙","中国长安出版社",55.5); one.introduce(); System.out.println("========================="); two.introduce(); } }
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星