接口的概念
public interface Test02
{
String name = "tom";
void show();
}
interface Test03
{
public abstract double calcAvg(int num1, int num2);
}
abstract class Test04
{
String sex = "男";
static final double PI = 3.1415;
public void print()
{
System.out.println("父类中的普通方法print");
}
public abstract int calcSum(int num1, int num2);
}
class Test extends Test04 implements Test02, Test03
{
public void show()
{
System.out.println("在实现类中实现接口Test02中的show方法");
}
public double calcAvg(int num1, int num2)
{
System.out.println("在实现类中实现接口Test03中的calcAvg方法");
return (num1 + num2) / 2.0;
}
public int calcSum(int num1, int num2)
{
System.out.println("在实现类中实现父类Test04中的calcSum方法");
return num1+num2;
}
public void print(){
System.out.println("在实现类中重写父类Test04中的print方法");
}
}
public class Test05
{
public static void main(String[] args)
{
Test test=new Test();
System.out.println(test.name);
System.out.println(test.sex);
test.show();
System.out.println(test.calcAvg(2, 3));
System.out.println(test.calcSum(2, 3));
test.print();
}
}
接口的继承问题
public class Test06
{
public static void main(String[] args)
{
A a;
a=new D();
}
}
interface A
{
double PI = 3.14;
public void show1();
}
interface B
{
public void show2();
}
interface C extends A, B
{
public void show3();
}
class D implements C
{
@Override
public void show1()
{
}
@Override
public void show2()
{
}
@Override
public void show3()
{
}
}
接口与抽象类的关系
public class Test07
{
public static void main(String[] args)
{
Plane plane = new Plane();
Bird bird=new Bird();
IFly f = bird;
f.fly();
}
}
interface IFly
{
public void fly();
}
class Plane implements IFly
{
@Override
public void fly()
{
System.out.println("我是飞机,我有机翼,高科技飞行。。。");
}
}
class Bird implements IFly
{
@Override
public void fly()
{
System.out.println("我是一只小小鸟,我有翅膀,绿色环保。。。");
}
}