1.编写猫类Cat,要求如下:(没有特别要求情况下,均为公共权限) (1)3个属性:品种(type)、昵称(nickname)、年龄(age); (2)1个方法:输出Cat所有属性值的方法(printlnfo); (3)添加如下功能的构造方法 无参构造方法,方法体内为各属性喊值,属性默认值自己确定; 带构造方法,让用户实例化对象时只能为“昵称”赋值; 带参构造方法,让用户实例化对免时可以同时为“品种”、“昵称”赋值; 带参构造方法,让用户实例化对象时可以后时为“品种”、“昵称”、“年龄”赋值; 4)编写测试类TestCatiava测试该类各构造方法的使用。
时间: 2024-03-11 17:50:31 浏览: 25
好的,下面是Cat类和TestCat类的代码:
```java
// Cat类
public class Cat {
// 属性
public String type;
public String nickname;
public int age;
// 无参构造方法
public Cat() {
this.type = "波斯猫";
this.nickname = "小花";
this.age = 1;
}
// 带一个参数的构造方法
public Cat(String nickname) {
this.type = "英短";
this.nickname = nickname;
this.age = 2;
}
// 带两个参数的构造方法
public Cat(String type, String nickname) {
this.type = type;
this.nickname = nickname;
this.age = 3;
}
// 带三个参数的构造方法
public Cat(String type, String nickname, int age) {
this.type = type;
this.nickname = nickname;
this.age = age;
}
// 方法
public void printlnfo() {
System.out.println("品种:" + this.type);
System.out.println("昵称:" + this.nickname);
System.out.println("年龄:" + this.age);
}
}
```
```java
// TestCat类
public class TestCat {
public static void main(String[] args) {
// 无参构造方法
Cat cat1 = new Cat();
cat1.printlnfo();
System.out.println("---------------------");
// 带一个参数的构造方法
Cat cat2 = new Cat("小黑");
cat2.printlnfo();
System.out.println("---------------------");
// 带两个参数的构造方法
Cat cat3 = new Cat("加菲猫", "大黄");
cat3.printlnfo();
System.out.println("---------------------");
// 带三个参数的构造方法
Cat cat4 = new Cat("暹罗猫", "小灰", 4);
cat4.printlnfo();
}
}
```
上面的代码中,我们定义了一个Cat类,其中包含了四个构造方法和一个输出属性值的方法。我们还定义了一个TestCat类,用来测试Cat类中的各种构造方法。在TestCat类中,我们依次实例化了四个Cat对象,并分别调用了它们的printlnfo()方法,输出各个属性的值。