問題描述:
1、什麽是接口,接口跟類有什麽區別?
2、怎樣使用接口。
謝謝!
解析:
壹 接口表示壹個完全抽象類,其成員變量為常量,應該定義為public static final.如果成員變量前沒有添加修飾符,系統會默認修飾符為public static final.所有的方法為public abstract抽象方法
接口是壹些抽象方法和常量所組成的 *** ,(1) 接口可以定義多繼承.多繼承可以通過在extends後面使用多個父接口來實現.(2)接口不存在最高層,與類的最高層為Object類是不同的.(3)接口中的方法都是使用abstract修飾的方法;(4)接口中的成員變量默認為final定義的常量;
例如:指出下面程序的語法錯誤:
1) public interface Example{
2) public double privateOne=0.0;
3) protected int protectedTwo=0;
4) public int public publicThree=10;
5) public int publicfour;
6) public void methodOne{
7) System.out.println("hare are you!");
8) }
9) public static void methodTwo();
10) public static final int methodThree();
11) public abstract void methodFour();
12) }
改正: 第2,3行對成員變量只能定義為public類型;第5行應該給成員變量賦值;第6,7,8行應該只給出方法頭,不給出具體的方法;第9,10行應該只定義抽象方法; 如下所示:
public interface Example{
public double privateOne=0.0;
public int protectedTwo=0;
public int publicThree=10;
public abstract void methodOne();
public abstract void methodTwo();
public abstract int methodThree();
public abstact void methodFour();
}
接口中不能實現任何方法,它的方法必須在繼承它的類中實現.
接口類的應用舉列:
-----------------------------------
InterfaceExtend.java
author:zuec
email:zuec5@163
------------------------------------
interface Biology{
abstract void breath()生物會呼吸
}
interface Animal extends Biology{
abstract void sex(); 動物要有性別
abstract void ate(); 動物要吃飯
}
interface Man extends Animal{
abstract void think();人類有思維
abstract void study();人類要學習
};
class NormalMan implements Man,Animal,Biology{
private String name;
NormalMan(String name){
this.name=name;
}
public String getname(){
return name;
}
public void breath(){
System.out.println(name+":breath with lung");
}
public void sex(){
System.out.println(name+":have sex");
}
public void ate(){
System.out.println(name+":need food"):
}
public void think(){
System.out.println(name+":can think something");
}
public void study(){
System.out.println(name+":study java");
}
}
public class InterfaceExtend{
public static void main(String[] args){
NormalMan zuec=new NormalMan("zuec");
System.out.ptintln("下面是"+zuec.getname()+"的特點:");
zuec.breath();
zuec.sex();
zuec.think();
zuec.study();
}
}
運行結果:
下面是zuec的特點:
zuec:breath with lung
zuec:have sex
zuec:can think something
zuec:study java