首页 > 编程语言 >java封装题目3

java封装题目3

时间:2024-09-24 20:24:30浏览次数:1  
标签:publisher 封装 String 题目 price Book java public name

3.以面向对象的思想,编写自定义类描述图书信息。设定属性包括:书名,作者,出 版社名,价格;方法包括:信息介绍 show()
要求:
1)设置属性的私有访问权限,通过公有的 get,set 方法实现对属性的访问
2)限定价格必须大于 10,如果无效进行提示
3)限定作者,书名为只读属性
4)设计构造方法实现对属性赋值
5)信息介绍方法描述图书所有信息
6)编写测试类,测试图书类的对象及相关方法(测试数据信息自定) 运行效果图:

编写一个Book类

class Book{
    private String name;
    private String actor;
    private String publisher;
    private double price;

    public Book(){ //无参构造方法

    }
    public Book(String name,String actor,String publisher,double price){ //有参构造方法
        this.name=name;
        this.actor=actor;
        this.publisher=publisher;
        this.price=price;

    }

    public String getName() {
        return name;
    }



    public String getActor() {
        return actor;
    }



    public String getPublisher() {
        return publisher;
    }

    public void setPublisher(String publisher) {
        this.publisher = publisher;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(int price) { //对价格进行判断,价格必须大于10
        if(price>10){
            this.price=price;
        }else {
            this.price=0.0;
            System.out.println("输入的价格不合理,已改为默认值");
        }
    }
    public void show(){  //进行信息展示
        System.out.println("书名:" + name +"\n" +"作者:" + actor +"\n"+ "出版社:" + publisher +"\n" +"价格:" + price+"元");
    }
}

编写测试类

public class Test3 {
    public static void main(String[] args) {
        Book b1 = new Book("鹿鼎记","金庸","人民文学出版社",120.0);
        b1.show();
        System.out.println("==========================");
        Book b2 = new Book("绝代双骄","古龙","中国长安出版社",55.5);
        b2.show();
    }
}

标签:publisher,封装,String,题目,price,Book,java,public,name
From: https://www.cnblogs.com/ndmtzwdx/p/18429935

相关文章

  • 基于SSM的选题管理系统(有报告)。Javaee项目。
    演示视频:基于SSM的选题管理系统(有报告)。Javaee项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringMvc+Mybatis+Jsp+Maven来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web系统。系统设计思想一个成功的网站应明确......
  • JAVA的字符串这篇讲清楚了
    JAVA_String从概念上讲,JAVA字符串就是Unicode序列。例如"Java\u2122"由5个UNICODE字符J,a,v,a和™组成。Java没有内置和字符串类型,而是试用java标准库中提供的一个预定义类,很自然地叫做了string。子串substringStringsubStr=str.substring(beginIndex);这里beginIndex指......
  • java封装题目2
    2.以面向对象的思想,编写自定义类描述IT从业者。设定属性包括:姓名,年龄,技术方向,工作年限,工作单位和职务;方法包括:工作要求:1)设置属性的私有访问权限,通过公有的get,set方法实现对属性的访问2)限定IT从业人员必须年满15岁,无效信息需提示,并设置默认年龄为15。3)限定“技......
  • java_day4_数组、方法
    一、数组一维数组数组:是一块连续固定大小的内存空间,有着索引的概念定义数组的语句格式:数据类型[]数组名;【推荐】数据类型数组名[];如果只是定义一个数组的话,没有给初始化值,相当于一个变量没有值,是不能够直接使用的如何对一个数组进行初始化?1、动态初始化......
  • 2024.9.24- java开学测
    1、定义student类,其中包括五个私有变量(stunumber,name,age,sex,score)。各成员的含义如下:变量stunumber为字符串类型String,用于存储学生的学号(有8位数字组成)。变量name为字符串类型String,用于存储学生的姓名。变量age为int类型,用于存储学生的年龄。变量sex为boolean类型,用于存储学......
  • 封装的练习题目1
    1.使用面向对象的思想,编写自定义描述狗的信息。设定属性包括:品种,年龄,心情,名字;方法包括:叫,跑。要求:1)设置属性的私有访问权限,通过公有的get,set方法实现对属性的访问2)限定心情只能有“心情好”和“心情不好”两种情况,如果无效输入进行提示,默认设置“心情好”。3)设置构造......
  • java基础篇之反射(简单详细,快速入门)
    @[TOC]希望本文能帮助你增加对反射的理解反射的简单叙述及相关性质反射的源头——Class类反射的主要应用反射的简单叙述及相关性质能够分析类能力的程序为反射,反射机制的功能极其强大,下面我们就来简单举个例子publicclassStudent{privateStringname;......
  • SQL面试常见题目
    SQL面试常见题目涉及多个方面,包括数据查询、数据操作、表的设计与优化等。以下列举一些经典的SQL面试题目,并附上解析答案:1.查询一张表中重复的数据题目:给定一个表employees,包含id,name,salary列。如何查找表中重复的name值?SELECTname,COUNT(*)ascountFROMem......
  • Java学习笔记(上)——动力节点老杜(某站2000万播放)
    此文章是本人大一学习java时记的笔记,原视频在https://www.bilibili.com/video/BV1Rx411876f,配套服用更佳!一.JAVA开发环境的搭建1.常用的Dos命令1.1win+r打开Dos命令窗口1.2什么是Dos命令在最初的计算机中没有图形界面,也就是说通过Dos命令窗口可以完全完成文件的新建、......
  • JavaEE——多线程
    接着上篇博客我们已经学习了进程的相关概念,了解到进程里面的相关重要属性,那么这篇博客呢我们要学习一个新的知识点——线程!一、引入进程的目的首先引入进程这个概念,是为了解决“并发编程”这样的问题。因为CPU再往小了做,比较困难了,这是因为CPU进入了多核心的时代,要想进一......