接口

接口(interface)

  • 接口(Interface)以interface来声明。如果一个类只由抽象方法和全局常量组成,那么这种情况下不会将其定义为一个抽象类,而是定义为一个接口,所以严格的来讲接口属于一个特殊的类,在接口中只有抽象方法和全局常量,就连构造方法也没有。
  • 定义一个接口
interface IMessage {   //定义了一个接口
    public static final String INFO="www.mldn.cn";  //全局变量
    public abstract String getInfo();               //抽象方法
}
  • 接口使用原则:
1.接口需要被子类实现(implements),一个子类可以实现多个父接口
2.子类(如果不是抽象类)那么一定要覆写接口中的全部抽象方法
3.接口对象可以利用子类对象的向上转型进行实例化
  • 定义接口子类
interface IMessage {   //定义了一个接口
    public static final String INFO = "www.mldn.cn";  //全局变量

    public abstract String getInfo();  //抽象方法
}

class MessageImpl implements IMessage {  //实现接口
    public String getInfo() {
        return "得到一个秘密消息";
    }
}

public class Demo {
    public static void main(String[] args) {
        IMessage msg = new MessageImpl() ;
        System.out.println(msg.getInfo());
        System.out.println(IMessage.INFO  ); //直接输出全局常量
    }
}
  • List item

  • 抽象类与接口的区别

区别抽象类接口
定义关键字abstract class 抽象类名称{}interface 接口名称{}
组成构造,普通方法,静态方法,全局变量,普通成员,static方法抽象方法,全局变量,普通方法,static方法
权限可使用各种权限定义只能使用public
子类使用子类通过extends关键字可以继承一个抽象类子类使用implements关键字可以实现多个接口
两者关系抽象类可以实现若干个接口接口不允许继承抽象类,但允许继承多个父接口
  • 抽象类和接口的使用条件(原则)
1.抽象类或接口必须定义子类
2.子类一定要覆写抽象类或接口中的全部抽象方法
3.通过子类的向上转型实现抽象类或接口的实例化

案例一

  • 定义一个ClassName接口,接口中只有一个抽象方法getClassName();设计一个类Company,该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名称;编写应用程序使用Company类。
interface IClassName {    //按照要求定义接口
    public String getClassName() ;     //数据一定要返回
}
class Company implements IClassName {
    public String getClassName() {
        return “Company” ;
    }
}
public class JavaDemo {
    public static void main(String args[]) {
        IClassName ica = new Company() ;  //向上转型
        System.out.println(ica.getClassName()) ;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值