抽象类
1.抽象类和抽象方法用 关键字:abstract来修饰
2.子类必须重写父类的抽象方法
3.有抽象类的不一定有抽象方法;有抽象方法的类一定是抽象类
4.抽象方法没有方法体
5.抽象类不能new(不能被实例化)
接口
java的接口是一些方法特征的集合,但没有方法实现。
1.接口不可以被实例化
2.接口中的所有成员都是public static final
3.接口中的方法都是抽象方法,接口会自动使用public abstract 修饰
4.一个类可以实现多个接口
5.实现类必须实现接口中的所有方法 ?
6.接口可以继承接口
7.使用接口也可以实现多态机制
Master类
public class Master implements Introduce {
private String name="张三";
Printer printer = new Printer();//主人拥有的打印机
public String details() {
return name+"是主人,有宠物,养了很多宠物";
}
public void print(Introduce in) {
//打印机打印的.打印(接口.方法)
printer.print(in.details());
}
//增加main
public static void main(String[] args) {
Dog d = new Dog();
Master m = new Master();
Cat c = new Cat();
d.fly();
m.print(d);
m.print(m);
m.print(c);
}
}
Printer类
public class Printer {
//打印机要有参数
public void print(String content) {
System.out.println("打印机开始打印了.....");
System.out.println(content);
}
}
接口Introduce
public interface Introduce {
public String details();
}
Dog类
public class Dog implements Introduce,Fly{
private String name= "旺柴";
@Override
public String details() {
// TODO Auto-generated method stub
return name+"是可爱的动物";
}
@Override
public void fly() {
System.out.println(name+"在飞");
}
}
Cat类
public class Cat implements Introduce {
String name="哆啦A梦";
@Override
public String details() {
// TODO Auto-generated method stub
return name+"是可爱的宠物";
}
}