关于this的练习

题目:
刚开始没有想到用面向对象的方法对书这个类进行操作
/*
我在练习中出现的问题:
1.读题时,不确定方法有没有返回值,以为自己在方法中写了输出语句,但是没有
2.在main函数中,发先需要返回值,并误将double认为int类型
3.在方法中修改返回值之后忘记加return语句
其实两种方法都可以
*/


//public class Homework03 {
//    public static void main(String[] args) {
//        A03 a03=new A03();
//        a03.updatePrice(160);
//       // double price=a03.updatePrice(160);
//        //System.out.println("更改后的价格为"+price);
//    }
//}
//
//
//class A03{
//    public void updatePrice(double price){
//        if(price>150){
//            price=150;
//        }else if(price>100){
//            price=100;
//        }
//        System.out.println("更改后的价格为"+price);
//    }
//}



//如何用this完成,面向对象练习
/*
1.类名:Book
2.方法名:updatePrice
3.属性:price,name
4.返回值 void
5.没有形参
6.构造器
 */


//只有一个类前有public,与.java名相同
public class Homework03{
    public static void main(String[] args) {
        Book book=new Book("构建之法",160);
        book.info();
        book.updateString();
        book.info();
    }
}

class Book{
    String name;
    double price;
    public Book(String name,double price){
        this.name=name;
        this.price=price;
    }
    //只有一个price时,public 可以省略
    public void updateString(){
        if(this.price>150){
            this.price=150;
        }else if(this.price>100){
            this.price=100;
        }
    }
    public void info(){
        System.out.println("书名="+this.name+"价格="+this.price);
    }
}
posted @   f-52Hertz  阅读(0)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示