Java 接口

package day09;
/*
 接口的特点:
1、接口是对外暴露的规则。
2、接口是程序的功能扩展。
3、接口的出现降低耦合性。
4、接口可以用来多实现。
5、类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口。
6、接口与接口之间可以有继承关系。
 */
abstract class AbsDemo{
abstract void show1();
abstract void show2();
}


/**
 * 当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示,就是接口 interface
 * 
 *
 */


//定义接口使用的关键字不是class,是interface
/**
 * 对于接口当中常见的成员:而且这些成员都有固定的修饰符。
 * 1、全局常量:public static final
 * 2、抽象方法:public abstract
 * 
 * 由此得出结论,接口中的成员都是公共的权限。
 */


interface Demo{
public static final int NUM = 4;

abstract void show1();
abstract void show2(); 
}
//类与类之间是继承关系,类与接口直接是实现关系。
/**
 * 接口不可以实例化
 * 只能由实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化。否则,这个子类就是一个抽象类。
 * 
 */


class DemoImpl implements /*实现*/Demo{
public void show1(){
}


@Override
public void show2() {
// TODO Auto-generated method stub
}
}


/**
 * 在java中不直接支持多继承,因为会出现调用的不确定性。
 * 所以java将多继承机制进行改良,在java中变成了多实现。
 * 一个类可以实现多个接口
 */


interface A{
public void show();
}


interface Z{
//public void show();
public int add(int a,int b);
}


class Test implements A,Z{
public void show(){
System.out.print("继承接口 A Z !");
}

public int add(int a,int b){
return a+b+3;
}

}
/*
 * 一个类在继承另一个类的同时,还可以实现多个接口。
 */
class Q{
public void method(){}
}


class Test2 extends Q implements A,Z{


@Override
public int add(int a, int b) {
// TODO Auto-generated method stub
return 0;
}


@Override
public void show() {
// TODO Auto-generated method stub

}

}
/*
 * 接口的出现避免了单继承的局限性
 */


interface CC{
void show();
}


interface MM{
void method();
}


interface QQ extends CC,MM //接口与接口之间是继承关系,而且接口可以多继承
{
void function();
}


class WW implements QQ{
//覆盖3个方法
public void show(){};
public void method(){};
public void function(){};
}
public class InterfaceDemo {


/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test t = new Test();
t.show();

/* DemoImpl d = new DemoImpl();
//d.NUM = 3;
System.out.println(d.NUM);
System.out.println(DemoImpl.NUM);
System.out.println(Demo.NUM);*/
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值