interface Printable {
final int MAX=100;
void add();
float sum(float x,float y);
}
interface Printable {
public final static int MAX = 100; //等价写法:int MAX = 100;
public abstract void add(); //等价写法:void add();
public abstract float sum(float x,float y);
//等价写法:float sum(float x,float y);
}
Java实现接口
class A implements Printable,Addable //A类实现Printable和Addable接口
class Dog extends Animal implements Eatable,Sleepable
//Animal的Dog子类实现Eatable和Sleepable接口
Java接口与多态
interface ComputerAverage {
public double average(double a,double b);
}
class A implements ComputerAverage {
public double average(double a,double b) {
double aver = 0;
aver = (a+b)/2;
return aver;
}
}
class B implements ComputerAverage {
public double average(double a,double b) {
double aver = 0;
aver = Math.sqrt(a*b);
return aver;
}
}
public class Main {
public static void main(String args[]) {
ComputerAverage computer;
double a = 10,b = 40;
computer = new A();
double result = computer.average(a,b);
System.out.printf("%5.2f和%5.2f的算术平均值:%5.2f\n",a,b,result);
computer = new B();
result = computer.average(a,b);
System.out.printf("%5.2f和%5.2f的几何平均值:%5.2f",a,b,result);
}
}
Java接口参数
interface SpeakHello {
void speakHello();
}
class Chinese implements SpeakHello {
public void speakHello() {
System.out.println("中国人习惯问候语:你好,吃饭了吗? ");
}
}
class English implements SpeakHello {
public void speakHello() {
System.out.println("英国人习惯问候语:你好,天气不错!");
}
}
class KindHello {
public void lookHello(SpeakHello hello) { //接口类型参数
hello.speakHello(); //接口回调
}
}
public class Main {
public static void main(String args[]) {
KindHello kindHello = new KindHello();
kindHello.lookHello(new Chinese());
kindHello.lookHello(new English());
}
}