欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java接口

程序员文章站 2022-07-15 17:05:31
...
1.
public interface TestIn {     //接口
    int ID=1;//public static final int ID=1;
    void test();//public abstract void test();
}
2.
public interface TestIn1 {
    void test1();
}
3.
public interface TestIn2 extends TestIn1 {//接口可以继承接口
}
4.
//子类继承父类只能继承一个
// 但是子类可以实现多个接口,多个接口用“逗号”分隔
public class TestInImpl implements TestIn,TestIn1 {
    @Override
    public void test(){ 
    }
    @Override
    public void test1() {
    }
}
5.
public abstract class TestInImpl1 implements TestIn {//如果类没有实现接口的所有方法,那么这个类就要定义为抽象类
}

6.
//若一个类既继承父类又实现接口那么先继承再实现
public class TestInImpl2 extends TestInImpl implements TestIn,TestIn1,TestIn2 {
    
}

例子
java接口

public abstract class Person {
    int age;
    String name;
    int sex;
    public abstract void showInfo();
}
public interface Cooking {
    void fry();
}
public interface Sing {
    void singing();
}

public class SCTeacher extends Person implements Cooking,Sing {
    String course;

    public void setInfo(){
        super.age=14;
        super.name="布洛尼亚";
        super.sex=0;
        this.course="如何黑掉系统";
    }
    public void showInfo() {
        System.out.println("会唱歌的厨子老师信息是");
        System.out.println(super.sex);
        System.out.println(super.age);
        System.out.println(super.name);
        System.out.println(this.course);
    }
    public void fry() {
        System.out.println(super.name+"想喝希尔的甜菜汤");
    }
    public void singing() {
        System.out.println(super.name+"你也想听布洛尼亚唱的爱河吗");
    }

    public static void main(String[] args) {
        SCTeacher sct=new SCTeacher();
        sct.setInfo();
        sct.showInfo();
        sct.fry();
        sct.singing();
    }

}
运行结果:



会唱歌的厨子老师信息是
0
14
布洛尼亚
如何黑掉系统
布洛尼亚想喝希尔的甜菜汤
布洛尼亚你也想听布洛尼亚唱的爱河吗

Process finished with exit code 0
接口的其他问题

public static void main(String[] args) {
        Cooking c=new SCTeacher();//可以用接口来接收
        c.fry();//但是只能访问当前接口自己的方法
    
    }

总结:抽象类是对一类具体事务的高度抽象其中既有属性又有方法;
接口是对方法的抽象,也就是对于一系列动作的抽象。
当需要对一类事物抽象的时候应该使用抽象类,好形成一个父类;
当需要对一系列动作抽象,就使用接口,需要使用这些动作的类去实现相应的接口即可。