抽象类是用来继承的,不能被实例化。抽象类里可以有成员变量,接口中没有。
(1)抽象类里的抽象方法,只有在子类实现了才能使用。
(2)抽象类里的普通方法,可被子类调用。
(3)接口里的方法,都被默认修饰为public abstract类型。
(4)接口里的变量,都被默认修饰为public static final类型,即常量。
【13】例:演示接口是如何实现多态的。
package data;
//创建一个food接口
interface food
{
public void getname();
public void eat();
}
//创建一个fruit接口,继承于food接口
interface fruit extends food
{
//此接口继承了父接口的方法
}
//创建一个meat接口,继承于food接口
interface meat extends food
{
//此接口继承了父接口的方法
}
//ora描述的是橘子,继承于fruit接口
class ora implements fruit
{
public void eat()
{
System.out.println("此方法是吃橘子的方法");
}
public void getname()
{
System.out.println("吃的水果名称为橘子");
}
}
//hotpot类描述的是羊肉,继承于meat接口
class hotpot implements meat
{
public void eat()
{
System.out.println("此方法是吃羊肉的方法");
}
public void getname()
{
System.out.println("吃的肉名称为羊肉");
}
}
//test类描述的是实现多态接口
public class test
{
public static void main(String[] args)
{
food f1=new ora();
f1.eat();
f1.getname();
food f2=new hotpot();
f2.eat();
f2.getname();
}
}