Java接口_interface_implements

相对抽象类来讲,接口就是比抽象类还要抽象的抽象类,丝毫不带半点实现的内容。
接口可以更加规范的对子类进行约束。
接口全面地专业地实现了:规范和具体实现的分离。
接口就是规范,定义的是一组规则,提现了现实世界中“如果你是...则必须...”的思想。如果你是动物,则必须能动。

接口的本质是契约,就像法律一样。制定好后大家都遵守。
项目的具体需求是多变的,我们必须以不变应万变才能从容开发,此处的“不变”就是“规范”。
因此,我们开发项目往往都是面向接口编程!

例子:

package com.ws.basic;

interface gobj{    
	public abstract void  attack();	
}

class tower implements gobj{

	@Override
	public void attack() {		
		System.out.println("箭塔攻击范围内所有目标,重甲单位有伤害加成!");
	}	
}

public class test {
    public static void main(String[] args) {
	
		tower t = new tower();
		t.attack();
	}
}

接口的定义:
接口中只有常量和抽象方法:
常量是 public static final
方法是 public abstract
如果没有写,就是默认的。
implements:

implements是一个类实现一个接口用的关键字,它是用来实现接口中定义的抽象方法。
java中没有多继承,为了弥补这里的不足,用到了 interface 。
java 中的接口定义基本上就是像C++中的类中定义的类中包含实虚函数也就是C++中的抽象类。

接口不能创建实例,但是可用于声明引用变量类型。
一个类实现了接口,必须实现接口中所有的方法。
接口支持多继承,例如:class A extends B implements C,D,E

接口和类的区别:

接口不能用于实例化对象。
接口没有构造方法。
接口中所有的方法必须是抽象方法。
接口不能包含成员变量,除了 static 和 final 变量。
接口不是被类继承了,而是要被类实现。
接口支持多重继承。

接口和抽象类的区别:
抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
一个类只能继承一个抽象类,而一个类却可以实现多个接口。

接口的主要应用:
多态接口动态加载;
接口作为方法的参数传递;
产生常量群。

Java中的接口是一个抽象类型,它定义了一组方法的签名,但没有具体的实现。可以使用接口来组装电脑中的各种组件,例如: ```java // 定义CPU接口 public interface CPU { public void calculate(); } // 定义内存接口 public interface Memory { public void store(); } // 定义硬盘接口 public interface HardDisk { public void read(); } // 组装电脑 public class Computer { private CPU cpu; private Memory memory; private HardDisk hardDisk; public Computer(CPU cpu, Memory memory, HardDisk hardDisk) { this.cpu = cpu; this.memory = memory; this.hardDisk = hardDisk; } public void work() { cpu.calculate(); memory.store(); hardDisk.read(); } } // 实现Intel CPU public class IntelCPU implements CPU { public void calculate() { System.out.println("Intel CPU is calculating."); } } // 实现Kingston Memory public class KingstonMemory implements Memory { public void store() { System.out.println("Kingston Memory is storing."); } } // 实现WesternDigital HardDisk public class WesternDigitalHardDisk implements HardDisk { public void read() { System.out.println("WesternDigital HardDisk is reading."); } } // 测试 public class Test { public static void main(String[] args) { CPU cpu = new IntelCPU(); Memory memory = new KingstonMemory(); HardDisk hardDisk = new WesternDigitalHardDisk(); Computer computer = new Computer(cpu, memory, hardDisk); computer.work(); } } ``` 在上面的例子中,可以看到Java接口的作用,利用接口可以定义出CPU、内存、硬盘等组件的行为,然后通过组装可以构成一个完整的电脑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值