1.编写猫类Cat,要求如下:(没有特别要求情况下,均为公共权限) (1)3个属性:品种(type)、昵称(nickname)、年龄(age) ; (2)1个方法:输出Cat所有属性值的方法(printInfo) ; (3)添加如下功能的构造方法 无参构造方法,方法体内为各属性赋值,属性默认值自己确定; 带构造方法,让用户实例化对象时只能为“昵称”赋值; 带参构造方法,让用户实例化对象时可以同时为“品种” 、“昵称” 赋值; 带参构造方法,让用户实例化对象时可以同时为“品种”、 “昵称”、 “年龄”赋值; (4)编写测试类TestCat.java测试该类各构造方法的使用。
时间: 2024-03-11 15:50:43 浏览: 81
好的,我来帮你完成这个问题。
首先,我们先定义一个 Cat 类,满足题目的要求:
```java
public class Cat {
public String type; // 品种
public String nickname; // 昵称
public int age; // 年龄
// 无参构造方法
public Cat() {
this.type = "未知品种";
this.nickname = "未知昵称";
this.age = 0;
}
// 带昵称参数的构造方法
public Cat(String nickname) {
this.type = "未知品种";
this.nickname = nickname;
this.age = 0;
}
// 带品种和昵称参数的构造方法
public Cat(String type, String nickname) {
this.type = type;
this.nickname = nickname;
this.age = 0;
}
// 带品种、昵称和年龄参数的构造方法
public Cat(String type, String nickname, int age) {
this.type = type;
this.nickname = nickname;
this.age = age;
}
// 输出所有属性值的方法
public void printInfo() {
System.out.println("品种:" + this.type);
System.out.println("昵称:" + this.nickname);
System.out.println("年龄:" + this.age);
}
}
```
接下来,我们编写 TestCat 类进行测试:
```java
public class TestCat {
public static void main(String[] args) {
// 使用无参构造方法创建对象
Cat cat1 = new Cat();
cat1.printInfo();
System.out.println("====");
// 使用带昵称参数的构造方法创建对象
Cat cat2 = new Cat("小花");
cat2.printInfo();
System.out.println("====");
// 使用带品种和昵称参数的构造方法创建对象
Cat cat3 = new Cat("波斯猫", "小黑");
cat3.printInfo();
System.out.println("====");
// 使用带品种、昵称和年龄参数的构造方法创建对象
Cat cat4 = new Cat("英国短毛猫", "小白", 2);
cat4.printInfo();
}
}
```
以上就是完整的代码,运行 TestCat 类即可看到结果。
阅读全文