1.编写猫类Cat,要求如下:(没有特别要求情况下,均为公共权限) (1)3个属性:品种(type)、昵称(nickname)、年龄(age) ; (2)1个方法:输出Cat所有属性值的方法(printInfo) ; (3)添加如下功能的构造方法 无参构造方法,方法体内为各属性赋值,属性默认值自己确定; 带构造方法,让用户实例化对象时只能为“昵称”赋值; 带参构造方法,让用户实例化对象时可以同时为“品种” 、“昵称” 赋值; 带参构造方法,让用户实例化对象时可以同时为“品种”、 “昵称”、 “年龄”赋值; (4)编写测试类TestCat.java测试该类各构造方法的使用。
时间: 2024-03-11 12:50:11 浏览: 134
好的,根据您的要求,我为您编写如下代码:
Cat.java
```java
public class Cat {
private String type;
private String nickname;
private 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("品种:" + type);
System.out.println("昵称:" + nickname);
System.out.println("年龄:" + age);
}
}
```
TestCat.java
```java
public class TestCat {
public static void main(String[] args) {
// 无参构造方法
Cat cat1 = new Cat();
System.out.println("无参构造方法:");
cat1.printInfo();
System.out.println();
// 带昵称参数的构造方法
Cat cat2 = new Cat("小花");
System.out.println("带昵称参数的构造方法:");
cat2.printInfo();
System.out.println();
// 带品种和昵称参数的构造方法
Cat cat3 = new Cat("英国短毛猫", "小黑");
System.out.println("带品种和昵称参数的构造方法:");
cat3.printInfo();
System.out.println();
// 带品种、昵称和年龄参数的构造方法
Cat cat4 = new Cat("波斯猫", "咪咪", 2);
System.out.println("带品种、昵称和年龄参数的构造方法:");
cat4.printInfo();
}
}
```
输出结果:
```
无参构造方法:
品种:未知品种
昵称:未知昵称
年龄:0
带昵称参数的构造方法:
品种:未知品种
昵称:小花
年龄:0
带品种和昵称参数的构造方法:
品种:英国短毛猫
昵称:小黑
年龄:0
带品种、昵称和年龄参数的构造方法:
品种:波斯猫
昵称:咪咪
年龄:2
```
阅读全文