Java基础(四)组合数据类型

本文介绍了如何在Java中设计图书(Book)与教师(Teacher)类。包括私有属性的设置、构造方法、get和set方法,以及如何在Bookstore类中创建多个Book实例。此外还展示了Teacher类的设计,包括其属性、方法及与学生类(Student)的交互。
摘要由CSDN通过智能技术生成

4-1 设计并实现一个Book类。具有ISBN号、书名、出版社、作者等私有属性。定义一个构造方法,接收数值并初始化上述的数据。创建所有属性的get和set方法,set方法用来接收一个数值并用它来设置属性的值,get方法返回该属性的值。创建一个Bookstore类,在它的main()方法中创建多个Book对象。

Book类

package practice;

public class Book {
    private String number;
    private String name;
    private String publisher;
    private String author;

    public Book(String number, String name, String publisher, String author) {
        this.number = number;
        this.name = name;
        this.publisher = publisher;
        this.author = author;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPublisher() {
        return publisher;
    }

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

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }
     public String toString() {
          return "|--书名:" + this.getName() + "\n\t" + "|--作者:" + this.getAuthor() +
           "\n\t" + "|--出版社:" + this.getPublisher() + "\n\t" + "|--书号:" + this.getNumber();
         }
}

BookStore类

package practice;

public class BookStore {
    public static void main(String args[]) {
        Book a = new Book("7-301-04815-7", "程序设计", "机械工业出版社", "Cover");
        Book b = new Book("7-301-04815-7", "Java基础", "机械工业出版社", "Cover");
        System.out.println(a);
        System.out.println(b);
    }
}

4-2 修改以下代码,使得编译通过。

class Test {
    Test(int i) {
    }

    public static void main(String args[]) {
        Test test = new Test();

    }
}

可以在main方法中定义一个变量

int a=1;
Test test=new Test(a);

4-3 判断以下程序的输出

class Student {
    int stuNO;// 学号
    char sex = 'm';// 性别
    String name;// 姓名

    public static void main(String args[]) {
        Student s = new Student();
        System.out.println(s.stuNO); // 输出0
        System.out.println(s.sex); // 输出m
        System.out.println(s.name); // 输出null
    }
}

4-4 数组arr的长度是多少?

int arr[][]={
{1},
{2,4},
{3}
};

System.out.println(arr.length)得到3

4-5 判断程序的输出。

class Student {
    static String school = "fjau";

    public static void main(String args[]) {
        Student s1 = new Student();
        s1.school = "fjafu";
        Student s2 = new Student();
        // 最后输出fjafu
        System.out.println(s2.school);

    }
}

4-6 对于enum Season{spring,summer,fall,winter}的定义,下列正确的引用是:


 1. Season time=1;
 2. Season time=fall;
 3. Season time=Season.fall;



3正确

4-7 设计并实现一个Teacher类,使其具有教师编号、姓名、性别、职称等属性。定义一个构造方法,接收数值并初始化上述的数据。创建所有属性的set和get 方法,set方法用来接收一个数值并用它来设置属性的值,get方法返回该属性的值。在Teacher类中有一个方法setStuName可以用来设置学生(Student)的姓名,创建一个School类,可以用来管理Teacher对象。
Teacher类:

package practice;

public class Teacher {
    private int number;
    private String name;
    private char sex;
    private String title;

    public Teacher(int number, String name, char sex, String title) {

        this.number = number;
        this.name = name;
        this.sex = sex;
        this.title = title;
    }

    public int getNumber() {
        return number;
    }

    public void setNumber(int number) {
        this.number = number;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
    public void setStuName(String sname){

    }

}

School类参考4-1

4-8 下列程序能否编译通过,如果可以,输出是什么;如果编译错误,请修正。

Integer wInt=123;
if(wInt==123)
System.out.println("equals");
else
System.out.println("not equals");//编译通过最终输出equals

4-9 下列程序能否编译通过,如果可以,输出是什么;如果编译错误,请修正。

class Test {
    void Test() {
        System.out.println("void Test");
    }

    Test(int i) {
        System.out.println("vodi Test");
    }

    public static void main(String args[]) {
        Test t = new Test();
        t.Test();
    }
}

编译错误
可作如下修改
Test t = new Test(0);
输出:
vodi Test
vodi Test

4-10 静态成员的访问方式有几种?

可以使用”类名.方法名”的方式,也可以使用”对象名.方法名”的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值