Java接口

接口

/**
 * 测试接口
 * 
 * @author 86176
 *
 */
public interface MyInterface {
//接口中只有:常量、抽象方法!
	/*public static final 接口中常量定义时,写或不写都是这样*/String MAX_GREAD = "BOSS";
	int MAX_SPEED = 120;
//方法必须是public,其他都不行
	public void test01();

	public int test02(int a, int b);
}



public class MyClass implements MyInterface {

	@Override
	public void test01() {
		//MyInterface.MAX_GREAD;
		System.out.println("test01");
		
	}

	@Override
	public int test02(int a, int b) {
		System.out.println("MyClass.test02()");
		return 0;
	}

}

 

描述:飞机,石头,人的关系?

public interface Flyable {
	int MAX_SPEED = 11000;
	int MIN_HEIGHT = 1;

	/* public abstract */void fly();
}

interface Attack {
	void attack();
}

class Plane implements Flyable {

	@Override
	public void fly() {
		System.out.println("飞机依靠发动机飞!");
	}

}

class Man implements Flyable {

	@Override
	public void fly() {
		System.out.println("人跳起来,飞!");
	}

}

class Stone implements Flyable, Attack {
	int weight;

	@Override
	public void fly() {
		System.out.println("被人扔出去!");

	}

	@Override
	public void attack() {
		System.out.println("石头攻击!");

	}
}

为什么需要接口?接口和抽象类的区别?

-接口就是比“抽象类”还要“抽象”的“抽象类”,可以更加规范的对子类进行约束。全面地专业的实现了:规范和具体实现的分离。

-接口就是规范,定义的是一组规则,体现了现实世界中“如果你是。。。则必须能。。。”的思想。

-接口的本质是契约,定制好后就必须遵守。

-项目的具体需求是多变的,我们必须以不变应万变才能从容开发,此处的不变就是"规范“。因此,开发项目往往都是面向接口编程。

如何定义接口?

-格式:

[访问修饰符] interface 接口名 [extends 父接口1,父接口2....]{

-常量定义  //总是public static final

-方法定义//总是public abstract

}

子类通过implements来实现接口中的规范

接口不能创建实例,但是可用于声明引用变量类型。

public class Test {
public static void main(String[] args) {
	Flyable f=new Stone();//只能初始化子类,不能初始化接口
	f.fly();
}
}

一个类实现了接口,必须实现接口中所有的方法,并且这些方法只能是public的。

接口支持多继承

public interface InterfaceA {
void aaa();
}
interface InterfaceB{
	void bbb();
}

interface InterfaceC extends InterfaceA,InterfaceB{
	
	void ccc();
}


class TestClass implements InterfaceC{

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

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

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

	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值