面向对象-接口-1
面向对象-接口-1



// 接口类
public interface jumpping {
void jump();
}
//------------------------------------
// 动物类
public abstract class animal {
private String name;
private int age;
public animal() {
}
public animal(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public abstract void eat();
}
//--------------------------------------
// 猫类
public class cat extends animal implements jumpping{
public cat() {
}
public cat(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("猫吃鱼.");
}
@Override
public void jump(){
System.out.println("猫跳高.");
}
}
//------------------------------------------
/*
案例:猫和狗
需求:对猫和狗进行训练,他们就可以跳高了,这里加入了跳高功能。
请采用抽象类和接口来实现猫狗案例,
并在测试类中进行测试
思路:
① 定义接口(Jumpping)
成员方法:跳高();
②定义抽象动物类(Animal)
成员变量:姓名,年龄;
构造方法:无参,带参;成员方法:get/set方法,吃饭();
③ 定义具体猫类(Cat),继承动物类,实现跳高接口
构造方法:无参,带参;
成员方法:重写吃饭(){(..},重写跳高方法(){...}
④ 定义狗类(Dog),继承动物类,实现跳高接口
构造方法:无参,带参;
成员方法:重写吃饭({...},重写跳高方法(){...}
⑤ 定义测试类(AnimalDemo),写代码测试
*/
public class demo {
public static void main(String[] args) {
//接口只能调用接口里的方法..
jumpping j = new cat();
j.jump();
//抽象类也只能调用它自己的方法
animal a = new cat();
a.setAge(2);
a.setName("田园");
System.out.println(a.getName()+" , "+a.getAge());
a.eat();
//实际使用中要用子类\实现类进行操作@@@
cat c = new cat("田园",2);
System.out.println(c.getName()+" , "+c.getAge()+"岁");
c.jump();
c.eat();
}
}

浙公网安备 33010602011771号