请问这个要是怎么改

请问这个要是怎么改

第一页:

public class Book {

 //私有属性:书名、作者、出版社、价格

    private String name;  //私有类 书名

    private String auther;//私有类 作者

    private String press; //私有类 出版社

    private double price; //私有类 价格

public Book(){      //无参构造


}

public Book(String name,String auther,String press,String price){  //有参构造

}

public String getPress() {     //出版社 get/set方法

    return press;

}

public void setPress(String press) {     //出版社set方法

this.press = press;

}

public double getPrice() {       //价格get方法

return price;

}

public void setPrice(double price) {   //价格set方法

if(price<=10.0){

System.out.println("输入的信息无效,默认价格为10.0元");

price=10.0;

}else

this.price = price;

}

public String getName() {       //书名get方法

return name;

}

public String getAuther() {      //作者get方法

return auther;

}

    

 //通过构造方法实现属性赋值


   /*通过公有的get/set方法实现属性的访问,其中:

   1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10

   2、限定作者、书名均为只读属性

   */

public void descriptor(){

System.out.println("书名:"+this.name);

System.out.println("作者:"+this.auther);

System.out.println("出版社:"+this.press);

System.out.println("价格:"+this.name);

}

 //信息介绍方法,描述图书所有信息



}

第二页:

public class BookTest {

    // 测试方法

public static void main(String[] args) {

Book one=new Book();

Book two=new Book();

one.setPress("人民文学出版社");

one.setPrice(10.0);

two.setPress("中国长安出版社");

two.setPrice(55.5);

 

     //实例化对象,调用相关方法实现运行效果

System.out.println("图书的价格最低10元");

one.descriptor();

System.out.println("==============================");

two.descriptor();

    }

}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
慕斯5333927 2018-03-17 03:00:15

http://img1.sycdn.imooc.com//climg/5aac13e80001e39506610233.jpg

http://img1.sycdn.imooc.com//climg/5aac13e9000198bd07450981.jpg

这是我写的,你可以试着参考一下,构造参数我写的一个,无参赋值一个有参赋值,代码太长了我把一部分注释去掉了,有什么不明白在问吧

  • 同学,我想问一下,你的代码除了price的set方法,其它属性的get和set方法是不是都没啥用
    2018-03-17 10:31:20
  • 是没啥用题目上要求要写的,实际上题目上要求赋值通过构造方法来进行的
    2018-03-17 21:24:47
irista23 2018-03-12 12:18:34

1、有参构造方法里就可以完成属性的赋值。

http://img1.sycdn.imooc.com//climg/5aa5fce40001f78906820138.jpg

2、封装属性set中赋值的应该使用this取成员属性设置,不是形参,这样从get里取属性才是你设置过的,比如

http://img1.sycdn.imooc.com//climg/5aa5fe74000119e205700233.jpg

3、只读属性只有get,没有set方法,这样对外来说只能访问不能改变。

http://img1.sycdn.imooc.com//climg/5aa5ff9200010f4f17410893.jpg

提问者 沐上 2018-03-12 09:02:03

另外  只读属性怎么赋值啊  没记得讲过呢

  • 通过构造参数赋值啊
    2018-03-17 02:57:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师