案例分析:
但是因为这里面的door接口里有三个 但是其实alarm是不常用的,所以我们可以,用一个
抽象类是对事物的抽象,而接口是行为的抽象 。
package com.cn2;
public interface SpeakEglish {
abstract void SpeakEglish();
}
package com.cn2;
public abstract class Humen {
private String name;
private int age;
public Humen(String name, int age) {
this.name = name;
this.age = age;
}
public Humen() {
}
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();
}
package com.cn2;
public abstract class Jiaolian extends Humen {
public Jiaolian(String name, int age) {
super(name, age);
}
public Jiaolian() {
}
public void teach(){
System.out.println("teach");
}
}
package com.cn2;
public class BaskbollJl extends Jiaolian {
public BaskbollJl(String name, int age) {
super(name, age);
}
public BaskbollJl() {
}
@Override
public void eat() {
System.out.println("篮球教练吃饭");
}
@Override
public void teach() {
super.teach();
System.out.println("篮球教练叫篮球");
}
}
package com.cn2;
public class Baskperson extends Sporter implements SpeakEglish {
public Baskperson(String name, int age) {
super(name, age);
}
public Baskperson() {
}
@Override
public void eat() {
System.out.println("篮球运动员吃很多饭");
}
@Override
public void leaning() {
super.leaning();
System.out.println("学习打篮球");
}
@Override
public void SpeakEglish() {
System.out.println("篮球运动员说英语");
}
}
package com.cn2;
public class Pingperson extends Sporter implements SpeakEglish {
public Pingperson(String name, int age) {
super(name, age);
}
public Pingperson() {
}
@Override
public void eat() {
System.out.println("乒乓球运动员喜欢吃菜");
}
@Override
public void SpeakEglish() {
System.out.println("乒乓球运动员会说英语");
}
}
package com.cn2;
public abstract class PinJl extends Jiaolian implements SpeakEglish {
public PinJl(String name, int age) {
super(name, age);
}
public PinJl() {
}
@Override
public void eat() {
System.out.println("乒乓球教练吃饭");
}
@Override
public void teach() {
super.teach();
System.out.println("叫乒乓球");
}
// pulic void SpeakEglish(){
// //怎么重写接口 忘记了
// }b
@Override
public void SpeakEglish() {
System.out.println("乒乓球教练说英语");
}
}
package com.cn2;
public abstract class Sporter extends Humen implements SpeakEglish {
public Sporter(String name, int age) {
super(name, age);
}
public Sporter() {
}
public void leaning(){
System.out.println("leaning");
}
}
package com.cn2;
import java.sql.SQLOutput;
public class Demotest {
public static void main(String[] args) {
Pingperson p1 = new Pingperson();
p1.setAge(30);
p1.setName("yyyy");
System.out.println(p1.getAge()+".."+p1.getName());
p1.eat();
p1.SpeakEglish();
p1.leaning();
System.out.println("-------带参-------");
p1= new Pingperson("wanghao",14);
System.out.println(p1.getAge()+".."+p1.getName());
Baskperson b1 = new Baskperson();
b1 = new Baskperson("yaoming",35);
System.out.println(b1.getAge()+".."+b1.getName());
System.out.println("------coach-------");
BaskbollJl j1 = new BaskbollJl();
j1 = new BaskbollJl("tt",22);
System.out.println(j1.getAge()+".."+j1.getName());
j1.eat();
j1.teach();
}
}