老师帮忙检查一下吧!
来源:1-7 编程练习
全栈丶obj
2020-01-12 19:24:52
public class book { //私有属性:书名、作者、出版社、价格 //通过构造方法实现属性赋值 /*通过公有的get/set方法实现属性的访问,其中: 1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10 2、限定作者、书名均为只读属性 */ //信息介绍方法,描述图书所有信息 private String bookName; private String author; private String publisher; private double price; public book(String bookName,String author,String publisher,double price){ this.bookName = bookName; this.author = author; this.publisher = publisher; this.price = price; } public String getAuthor() { return author; } public String getBookName() { return bookName; } public String getPublisher() { return publisher; } public void setPublisher(){ this.publisher = publisher; } 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 info(){ System.out.println("书名:"+getBookName()+"\n"+"作者:"+getAuthor()+"\n"+"出版社:"+getPublisher()+"\n"+"价格:"+getPrice()); } } public class BookTest { public static void main(String[] args) { book book_info1 = new book("红楼梦","曹雪芹","人民文学出版社",1.0); book_info1.info(); System.out.println(book_info1.getBookName()); System.out.println("=================================="); book book_info2 = new book("小李飞刀","古龙","中国长安出版社",55.5); book_info2.info(); book_info1.setPrice(1); System.out.println(book_info1.getPrice()); } }
1回答
好帮手慕小尤
2020-01-13
同学你好,1. 当类名由一个单词组成时,该单词首字母大写;如果类名由多个单词组成,则每个单词的首字母均大写。如:book应改为:Book
2. 如果定义带参构造但未定义无参构造,则带参构造会覆盖掉默认的无参构造,当使用无参构造创建对象时,会找不到无参构造报错,所以建议创建无参构造。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题