【Java】接口

接口

  • 以interface来声明
[ public ] interface 接口名称 (extends 其他的接口名) 
{
        // 声明变量
        // 抽象方法
}
例如:
public interface Animal
{
	public abstract void eat();
}

  • 接口无法被实例化
  • 实现接口的类必须实现接口内所描述的所有方法,否则就必须声明为抽象类
  • 接口中的变量会隐式指定为public static final,只能是public,其他会报错
  • 只包含常量定义和方法声明
  • 接口中的方法默认为abstract和public
  • 接口中没有普通方法,都是抽象方法
  • 实现多个接口(类似多继承机制)
class A implements B,C
  • 类实现某个接口,类必须实现该接口所有方法

实例1:


interface Animal
{
	void Goes();
}

class Cat implements Animal
{
      public void Goes()
      {
          System.out.println("mew-mew");
      }
}

class Dog implements Animal
{
     public void Goes()
     {
         System.out.println("wang-wang");
     }
}

public class TestInterface
{
     public static void use(Animal a)//接口做参数
     { 
         a.Goes(); //接口变量调用
     }
    public static void main(String[] args)
    {
        Cat c = new Cat(); 
        System.out.println("Cat goes");
        use(c); 
        System.out.println();
        Dog d = new Dog(); 
        System.out.println("Dog goes");
        use(d); 
     }
 }

接口多态性

父类引用子类
public interface Animal//接口
{
	public abstract void eat();//抽象方法eat();
}
public class Cat implements Animal//实现接口的Cat类
{
	public void eat()
	{
		System.out.println(“Cats eat milk“);
	}
}
...//主类省略
	Animal a = new Cat();
	a.cry();
...
接口回调
  • 开发中很实用
  • 接口做参数
interface  Show
{  
    void show();
}

class A implements Show 
{  
    public void show() 
    { 
       System.out.println("I love This Game");
    }
}

class B implements Show 
{ 
    public void show() 
    { 
       System.out.println("Œ“œ≤ª∂ø¥NBA");
    }
}
class C
{
    public void f(Show s)    //Ω”ø⁄◊ˆ≤Œ ˝
    {
       s.show();
    }
}
public class Example13 
{  
    public static void main(String args[])
    { 
        C c=new C();
        c.f(new A());
        c.f(new B());         
    } 
}

相同点抽象类 接口类
继承都可以继承
实例化不能实例化
子类子类必须实现未实现方法
不同点抽象类接口类
继承单继承多继承
实现方法抽象方法+普通方法抽象方法
静态方法可以有不能有
成员变量各种类型必须是public static final
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值