您的位置:首页 > 其它

关于接口的基本知识

2010-05-21 22:34 281 查看
package basic;
/*
* 1.接口是抽象方法和常量值的定义的集合
* 2.接口是一类特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现
*/

public class InterfaceTest {

void f(Singer s){
s.dance();
s.sing();
}
public static void main(String[] args) {
Singer a = new Students("lili");
Singer t = new Teacher("titi");
a.sing();
a.dance();



t.sing();
t.dance();
Paint p = (Paint)t;
p.eat();
p.paint();



//6.以下是多态,接口与实现类之间存在多态性
InterfaceTest inter = new InterfaceTest();
inter.f(a);
inter.f(t);
}

}

interface Singer {
//3.接口中只能定义抽象方法,方法默认是(也只能是)public的,
//3.属性默认是(也只能是)public static final 的,写不写都可以
public abstract void sing();
public abstract void dance();
}

interface Paint {
public abstract void paint();
public abstract void eat();
}

class Students implements Singer {
String name;
Students(String _name){
name = _name;
}

public void study(){
System.out.println("students study");
}

public void dance() {
System.out.println("students dance");
}

public void sing() {
System.out.println("students sing");
}

}

class Teacher implements Singer,Paint {
String name;

public Teacher(String name) {
this.name = name;
}

public void teach(){
System.out.println("teacher teach");
}

public void eat() {
System.out.println("teacher eat");
}

public void paint() {
System.out.println("teacher paint");
}

public void dance() {
System.out.println("teacher dance");
}

public void sing() {
System.out.println("teacher sing");
}

}
/**
* 4.多个无关的类可以实现同一个接口; 如以上的Students实现了Singer接口,Teacher也实现了
* 5.一个类可以实现多个无关的接口; 如以上的Teacher 既实现了Singer接口,又实现了Paint接口
*
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: