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

来源:互联网 发布:java inputstream 编辑:程序博客网 时间:2024/06/05 00:20

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");elseSystem.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 静态成员的访问方式有几种?

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