什么是接口,接口跟类有什么区别?
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
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