接口

  1. 接口可以当成一个类
  2. 接口用来搭建框架
  3. 用来优化程序
接口

public interface Demointerface{
public void demo();
//所有的方法都是抽象的

}
1. 接口不能被实例化
2. 接口里面的方法都是public类型的抽样方法所以public 和abstract可以忽略
3. 实现类可以实现多个接口,来弥补Java不能多继承
4. 在接口里定义的属性都是静态常量:public static final int i;和int i;一样都是静态常量;
5. 接口可以继承多个接口可以得到父级接口里所有的属性和方法

编写接口

  1. 编写接口:public interface DemoInterface{
    /**
    *USB接口提供服务
    */
    void name();

}
2. 实现接口,多个接口用“,”隔开。实现接口继承的关键字implements:public class UDisk implements Demointerface{

@Override
public void name() {
    // TODO Auto-generated method stub
    System.out.println("链接USB接口,开始传递数据");

}

}
3. 使用接口,可以用接口来实现多态:public class Test1 {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Demointerface uDsik=new UDisk();
    uDsik.name();

}

}

接口是一种规范

  1. 面向接口编程
  2. 接口的有点
    • 可以被多继承
    • 设计和实现完全分离
    • 更自然的使用多态
    • 更容易搭建程序框架
    • 跟容易更换实现
  3. 接口和抽象类的区别
    • 本质区别,class和interface关键字不同。抽象类是类,接口是规范。
    • 接口可继承接口,并可多继承接口,但类只能单根继承。
    • 接口只能做方法声明,抽象中可以做方法声明,也可以做方法实现。(jdk1.8接口可以实现方法实现)
    • 抽象类能够保证实现的层次关系,而接口则是能够更有效地分离行为与实现
  4. 常量
    • 常量是一种标识符,它的值在运行区间恒定不变
    • 常量标识符在程序中只能被引用,而不能被重新赋值
常量圆周率PI
圆周率PI代码表示方式public static final double PI=3.14159265358979323846;
用法将ang角度转换为径度public static double toRadians(double ang){return ang/180.0*PI;}

5. 常量数组的优点增强了程序的可读性可维护性:
public static double toRadians(double ang){
return ang/180.0*3.14159265358979323846;
}

实例

  1. 两个接口:public interface BizAgent {
    void giveBizSpeech() ;

}
public interface Programmer {
public void writeProgram();

}
2. 一个类:public class SoftEngineer implements BizAgent,Programmer {
private String name;

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

@Override
public void writeProgram() {
    // TODO Auto-generated method stub
    System.out.println("写了一段功能代码");

}

@Override
public void giveBizSpeech() {
    // TODO Auto-generated method stub
    System.out.println("把这段代码讲给客户听");

}

public void softEngineer() {
    System.out.prr.setName("ch");
    softEngineer.softEngineer();

}

}
3. 测试:public class SoftEngineerTest {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    SoftEngineer softEngineer=new SoftEngineer();
    softEngineer.setName("ch");
    softEngineer.softEngineer();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值