永兴网站建设报价,网络平台制作多少钱,上海网站建设领导品牌,专门做防盗门的网站概念#xff1a; 接口(Interface)是一种规范或协议(Protocal)#xff0c;是由常量和抽象方法组成的特殊类#xff0c;是对抽象类的进一步抽象#xff0c;用于克服 Java 单继承的缺点。例如#xff1a;每个厂商在生产鼠标的时候#xff0c;鼠标的接口遵循了 USB 接口统一标…概念 接口(Interface)是一种规范或协议(Protocal)是由常量和抽象方法组成的特殊类是对抽象类的进一步抽象用于克服 Java 单继承的缺点。例如每个厂商在生产鼠标的时候鼠标的接口遵循了 USB 接口统一标准使鼠标的接口变成了 USB 通用接口因此用户买回来的鼠标插人计算机的 USB 接口后可直接使用。 接口的定义
在接口的定义部分可以定义 public 接口或友好接口接口体的访问控制权限修饰符只有 public。接口可以实现多继承即一个接口可以继承多个父接口中的方法和常量。接口体只包含常量属性和抽象方法不能包含变量和具体的方法。接口中的常量属性必须被赋值隐式地声明为 public、static 和 fnal(3 个修饰符可省略)被存储在该接口的静态存储区域内。接口中的方法隐式地声明为 public、static(两个修饰符可省略)。一般定义接口常用的是方法二
//方法一public interface Pauselnterface { //使用interface 定义一个pauselnterface的接口public static final int MAX10; //定义常量public abstract voidpause(); //定义方法}//方法二public interface Pauselnterface {int MAX10;
public void pause();}接口的继承
interface Extrawage{double calAskForLeave();
double calWorkOver();}interface Basewage{double calBasewage();}interface Wage extends Basewage, Extrawage {double totalwage();}
代码分析1
定义了两个接口分别是Extrawage和Basewage 这两个接口是接口Wage的父类接口
而作为 Extrawage和Basewage的子类接口接口Wage继承了两个父类接口的方法。 接口的使用
class 类名称 implements 接口A ,接口B {.................................}
举例 题目 一、父接口 1.BaseWage 接口: 计算基本工资的接口定义计算基本工资的抽象方法 baseWage): h:8000 , m:5000 , l:3000 2.ExtraWage 接口: 计算额外工资的接口定义计算请假扣除工资的抽象方法 (askForLeave)h:100,m:60,l:30*定义计算加班补贴工资的抽象方法(workover)h:150,m:100,l:80 二、子类接口 Wage 接口:承上面两个父接口 定义计算最终工资的抽象方法(totalwage) 三、实现类WorkMan 类: 实现 Wage 接口4成员变量: 月份int),工资级别(String),请假天数int)加班天数int) class WorkMan implements Wage{//WorkMan自己的成员变量
int month;
String level;
int askForLeaveDay;
int workOverDay;//实现方法接口的方法因为Wage继承了父类的接口所有当前这个类也必须继承Wage的接口
//Wage继承了父类接口所有必须实现父类接口而当前的类继承了Wage的接口
//所有当前的类也必须继承Wage所要实现的接口public double calBasewage() {if (level.equals(high))return 8000;
else if(level.equals(middle))return 5000;
else return 3000;}public double calAskForLeave(){if (level.equals(high))return 100*askForLeaveDay;
else if(level.equals(middle))return 80*askForLeaveDay;
else return 50*askForLeaveDay;} public double calWorkover() {if (level.equals(high))return 150*workOverDay;
else if(level.equals(middle))return 100*workOverDay;
else return 80*workOverDay;}public double totalwage(){return calBasewage() calAskForLEave() -calWorkOver();}}