老师,请批改,谢谢!
public class Book { //私有属性:书名、作者、出版社、价格 private String name; private String writer; private String press; private float price; //通过构造方法实现属性赋值 public Book(String name,String writer,String press,float price) { this.setName(name); this.setWriter(writer); this.setPress(press); this.setPrice(price); } /*通过公有的get/set方法实现属性的访问,其中: 1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10 2、限定作者、书名均为只读属性 */ public String getName() { return name; } private void setName(String name) { this.name = name; } public String getWriter() { return writer; } private void setWriter(String writer) { this.writer = writer; } public String getPress() { return press; } public void setPress(String press) { this.press = press; } public float getPrice() { return price; } public void setPrice(float price) { if(price<=10) { System.out.println("图书价格最低10元"); this.price=10; }else { this.price = price; } } //信息介绍方法,描述图书所有信息 public void news() { System.out.println("书名:"+this.name); System.out.println("作者:"+this.writer); System.out.println("出版社:"+this.press); System.out.println("价格:"+this.price); } } public class BookTest { public static void main(String[] args) { //实例化对象,调用相关方法实现运行效果 Book b1= new Book("红楼梦","曹雪芹","人民文学出版社",10.0f); b1.news(); System.out.println("======================="); Book b2= new Book("小李飞刀","古龙","中国长安出版社",55.5f); b2.news(); } }
0
收起
正在回答
2回答
同学你好,
set是赋值操作,同学可以参考以下思路进行理解。
1、创建对象时会调用带参构造方法
2、在构造方法中为属性赋值,赋值有两种方式,
方式一:
调用set方法,即:this.setName(name);
方式二:
直接为属性赋值,即:this.name=name;
当name,writer为只读属性时,表示除了在创建对象时为它们赋值外,在其他地方无法访问到。
所以,在这里这两个属性没有public修饰的set方法。
在构造方法中需要直接为私有属性name,writer赋值。
3、方法只有被调用的时候才会执行,set方法,get方法也是如此。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星