一段简单的综合接口和抽象类的代码。
如下——
先定义一个抽象父类Mate。
abstract public class Mate{//抽象类Mate定义同学行为
private String name;
private int age;
public Mate() {//无参构造
}
public Mate(String name,int age){
this.name = name;
this.age = age;
}
public String getName() {//getter获取name
return name;
}
public int getAge() {//getter获取age
return age;
}
abstract public String getInfo();//抽象方法获取信息
}
再写出接口,子类,主类。
package cn.jsu.www9;
interface Bo{//接口 Bo
void eat(String food);
void sleep();
void study(String sub);
}
class Xb extends Mate implements Bo{//子类Xb继承抽象父类Mate的同时实现接口Bo
private String school;
public Xb(String name,int age,String school){//CF·
super(name,age);
this.school = school;
}
@Override
public void eat(String food){
System.out.println(this.getName() + "吃" + food);
}
@Override
public void sleep(){
System.out.println(this.getName() + "爱睡觉");
}
@Override
public void study(String sub){
System.out.println("xb" + "学" + sub);
}
@Override
public String getInfo(){
return "姓名:" + this.getName() + ",年龄:" + this.getAge();
}
}
class Zxc extends Mate implements Bo{//子类Zxc继承抽象父类Mate的同时实现接口Bo
private String school;
public Zxc(String name,int age,String school){
super(name,age);
this.school = school;
}
@Override
public String getInfo() {
return "姓名:" + this.getName() + ",年龄:" + this.getAge();
}
@Override
public void eat(String food) {
System.out.println(this.getName() + "吃" + food);
}
@Override
public void sleep() {
System.out.println(this.getName() + "爱睡觉");
}
@Override
public void study(String sub) {
System.out.println("xz" + "学" + sub);
}
}
public class Yoasobi {
public static void main(String[] args) {
Xb b = new Xb("xub",18,"js");
Zxc c = new Zxc("xiaoz",18,"hnyy");
System.out.println(b.getInfo());
System.out.println(c.getInfo());
b.eat("老婆饼");
b.sleep();
b.study("计算机");
c.eat("龙须面");
c.sleep();
c.study("临床医学");
System.out.println("**** ****\n*********\n**** ****");
System.out.println("*********\n**** ****\n*********");
}
}