您的位置:首页 > 编程语言 > Java开发

java接口(interface)详解

2018-03-31 15:56 267 查看
1.接口的定义
        接口就是规范,定义的是一组规则;是比"抽象类"还"抽象"的"抽象类",可以更加规范的对子类进行约束,全面专业的实现了:规范与接口的分离。

2.接口的格式
        权限修饰符  interface 接口名{
                常量定义       //总是public static final

                 方法定义     //总是public abstract

        }

看下面代码
            定义一个接口Personpublic interface Person {
int i = 10;
public void eat();
}        编译后得到Person.class文件,再进行反编译得到如下源码public abstract interface Person
{
public static final int i = 10;

public abstract void eat();
}结论:接口的类默认有abstract修饰;
           接口的变量默认有public static final修饰,既全局静态常量;

           接口的方法默认有abstract修饰。

    定义一个子类实现Person类
public class Student implements Person{
//属性
private String name;
private int age;
private char gender;
//构造方法
public Student(){}
public Student(String name, int age, char gender){
this.name = name;
this.age = age;
this.gender = gender;
}
//生成get/set方法
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}
public char getGender(){
return gender;
}
public void setGender(char gender){
this.gender = gender;
}
//生成toString方法
public String toString(){
return "name="+name+", age="+age+", gender="+gender;
}
@Override
public void eat() {
System.out.println("实现的eat方法。。。");
}

}定义一个测试类public class Test {
public static void main(String[] args) {
Person p = new Student("小明", 18, '男');
p.eat();
}
}得到结果实现的eat方法。。。总结:1.接口中的所有方法都是抽象的;
           2.即使没有显示的将接口中的成员用public标识,也是public访问类型的;
           3.可以定义一个新接口,用extends去继承一个已有的接口;
           4.可以定义 一个类,用implements去实现一个接口中的所有方法;

           5.可以定义一个抽象类,用implements去实现一个接口中的部分方法;

           6.一个类只能继承一个类,但同时可以实现多个接口;

            7.接口中只有方法和常量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: