什么是接口,接口跟类有什么区别?

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

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