Java接口

文章介绍了Java中的接口概念,包括接口作为特殊的抽象类,其所有方法默认为抽象且公开,成员变量只能是publicstaticfinal类型。接口支持类的多实现,具有多态性,可用于整合不相关功能。示例展示了如何定义和实现接口,以及接口的继承和标记接口的概念。
摘要由CSDN通过智能技术生成

接口实际上是一种特殊的抽象类

接口中所有的方法都是抽象方法(抽象类不可以创建对象)

接口中的成员变量只能是 public static final 类型的。

接口使用interface声明

类只能进行单继承,接口可以支持多实现·

接口同样具有多态性

接口可以把很多不相关的内容进行整合

特点:

1.接口中所有方法都是 抽象方法,都是公开的

2.接口所有方法都是全局静态常量

接口的实现

相关代码

Gold

package 接口;

public class Gold implements Valubale{
    //必须要实现抽象方法
    public void getMoney() {
        System.out.println("黄金可以换钱");
    }
}

Valubale接口

package 接口;
/**
  能继承接口的只能是接口
 接口和类只能是实现关系 implements
 **/
public interface Valubale { //使用interface声明,已经不再是类了
    //接口所有方法都是抽象方法,可以省略abstract
    //接口所有内容都是公开的,公共的
    void getMoney(); //接口所有的方法的都是抽象类,不可以有正常的方法
}

动物类型

接口

Protectable

package 接口;

public interface Protectable {
    void cang();
}

Valubale接口同上

定义animal类

package 接口;

public class Animal {
    public void eat() {
        System.out.println("动物会吃");
    }
}

定义熊猫类

package 接口;

public class Panada extends Animal implements Protectable, Valubale{
    //类可以继承一个类实现多接口

    @Override //重写
    public void eat() {
//        super.eat();
        System.out.println("熊猫吃竹子");
    }

    @Override
    public void cang() {
        System.out.println("把熊猫藏到山里");

    }

    @Override
    public void getMoney() {
        System.out.println("熊猫很珍贵");
    }
}

测试

package 接口;

public class Client {
    public static void main(String[] args) {
//        Gold g = new Gold();
//        Valubale g =new Gold(); //接口一样具有多态性
//        g.getMoney();

        Panada pd = new Panada();
        Animal ani = new Panada(); //向上转型
        Protectable pro = new Panada(); //向上转型
        Valubale vb = new Panada(); //向上转型

        //熊猫的角度
        pd.eat();
        pd.cang();
        pd.getMoney();
        //站在动物的角度只能吃
        ani.eat();
        //站在保护的角度只能藏
        pro.cang();
    }
}

输出

熊猫吃竹子
把熊猫藏到山里
熊猫很珍贵
熊猫吃竹子
把熊猫藏到山里

 接口的继承

继承名叫father的接口 

接口可以实现多继承

 标记接口

标记接口是没有任何方法和属性的接口.它仅仅表明它的类属于一个特定的类型,供其他代码来测试允许做一些事情。

标记接口作用:简单形象的说就是给某个对象打个标(盖个戳),使对象拥有某个或某些特权。

package 接口.接口练习;
//这是一个标记接口
//父接口
public interface father {
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值