(1)编写Animal接口,接口中定义sleep()方法 (2)Cat类和Pig类分别实现Animal接口的方法 (3)编写测试类Example13,定义Animal类型对象,用Cat和Pig构造方法创建对象,调用sleep方法
时间: 2024-02-04 10:01:53 浏览: 233
Animal 接口定义如下:
```java
public interface Animal {
void sleep();
}
```
Cat 类实现 Animal 接口的方法:
```java
public class Cat implements Animal {
@Override
public void sleep() {
System.out.println("Cat is sleeping.");
}
}
```
Pig 类实现 Animal 接口的方法:
```java
public class Pig implements Animal {
@Override
public void sleep() {
System.out.println("Pig is sleeping.");
}
}
```
Example13 测试类:
```java
public class Example13 {
public static void main(String[] args) {
Animal cat = new Cat();
Animal pig = new Pig();
cat.sleep();
pig.sleep();
}
}
```
输出结果:
```
Cat is sleeping.
Pig is sleeping.
```
相关问题
编写Animal接口,接口中定义sleep()方法。 2)Cat类和Pig类分别实现Animal接口的方法 3)编写测试类Example14对对象的类型进行转换,使Cat向上转型为Animal类型,然后再让Animal类型转换为Pig类型。
首先,我们创建一个名为`Animal`的接口,其中包含一个方法`sleep()`:
```java
public interface Animal {
void sleep();
}
```
接下来,我们将定义两个类`Cat`和`Pig`,它们都实现了`Animal`接口并实现了`sleep()`方法:
```java
public class Cat implements Animal {
@Override
public void sleep() {
System.out.println("猫正在睡觉...");
}
}
public class Pig implements Animal {
@Override
public void sleep() {
System.out.println("猪正在熟睡...");
}
}
```
现在,我们创建一个名为`Example14`的测试类,用于演示对象类型转换:
```java
public class Example14 {
public static void main(String[] args) {
// 创建一个Cat对象并将其向上转型为Animal类型
Animal cat = new Cat();
// 执行Cat的sleep方法
cat.sleep(); // 输出:猫正在睡觉...
// 将Animal类型转换为Pig类型,因为Java不支持向下强制转型,所以需要使用instanceof检查
if (cat instanceof Pig) {
Pig pig = (Pig) cat; // 这里是一个隐式转换,实际上并没有改变对象,只是改变了引用类型
pig.sleep(); // 输出:猪正在熟睡...
}
// 尝试将Animal类型直接转换为Pig类型,会抛出ClassCastException,因为这通常是不允许的
try {
Pig anotherPig = (Pig) cat; // 这一行会报错,因为cat实际上是Cat对象
} catch (ClassCastException e) {
e.printStackTrace();
}
}
}
```
在这个例子中,虽然理论上可以尝试将`Animal`类型的对象转换为更具体的类型,但在实际操作中,如果无法确定对象确实是指定类型,应该避免这样做。
编写一个接口Animal,接口中定义sleep()方法,编写两个类Cat和Pig分别实现接口
以下是Animal接口的代码:
```java
public interface Animal {
public void sleep();
}
```
以下是Cat类的代码:
```java
public class Cat implements Animal {
@Override
public void sleep() {
System.out.println("Cat sleeps");
}
}
```
以下是Pig类的代码:
```java
public class Pig implements Animal {
@Override
public void sleep() {
System.out.println("Pig sleeps");
}
}
```
这样,Cat和Pig类都实现了Animal接口,都必须实现sleep()方法。在Cat类中,我们实现了sleep()方法来输出“Cat sleeps”,在Pig类中,我们实现了sleep()方法来输出“Pig sleeps”。
阅读全文