Java基础之接口

上文链接:Java基础之继承

在上篇文章中我们讲到Java语言的继承是单一继承,一个子类只能有一个父类。这种继承关系存在局限性,那么Java中是否存在机制,可以处理这种局限性呢?答案当然是肯定的,这种机制就是-------接口。

接口:

接口(interface)是一个比较抽象类还抽象的类,接口中的所有方法都是抽象方法,接口和类之间的关系是实现(implements

格式:

interface 接口名{

}
接口的成员特点:
  • 只能有抽象方法
  • 只能且默认使用public&abstract修饰方法
  • 默认使用public static final 来修饰成员变量

注意:

  • 注意接口不能创建对象,即不能实例化
  • 类与接口的关系是实现关系,一个类实现一个接口必须实现它所有的方法

接口和类之间的各种关系:

  • 类与类:继承关系,单一继承,多层继承
  • 类与接口:实现关系
  • 接口与接口:继承关系(多继承)
interface interA{
      public abstract void method();
}

interface interB{
      public abstract void method();
}

interface interC extends interB{
      public abstract void method();
}

class Test implements interA,interB{
       @Override
       public void method(){
       
       }
}
接口的优点:
  • 类与接口的关系,实现关系,而且是多实现,一个类可以实现多个接口,类与类之间是继承关系,Java中的继承是单一继承,一个类只能由一个父类,打破了继承的局限性
  • 对外提供规则(USB接口)
  • 降低了程序的耦合性(可以实现模块化开发,定义好规则,每个实现自己的模块,提高了开发效率)
接口和抽象类的区别:

共性:不断地抽取出抽象的概念
区别:

1、与类之间的关系

  • 类与接口是实现关系,而且是多实现,一个类可以实现多个接口
  • 类与抽象类是继承关系,Java中的继承是单一继承,一个类只能有一个父类,Java中的继承是多层继承

2、成员

  • 成员变量:抽象类可以有成员变量,也可以有常量,而接口只能有常量。(常量即赋值的变量)
  • 成员方法:抽象类可以有抽象方法,可以有非抽象方法;接口只能有抽象方法,而且方法有默认修饰符public abstract
  • 构造方法:抽象类有构造方法,接口无
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中调用HTTP接口的POST请求,可以使用Java标准库中的`java.net.HttpURLConnection`类。 示例代码如下: ``` import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class HttpPostExample { public static void main(String[] args) { try { // 指定接口地址 URL url = new URL("http://your-interface-address"); // 打开连接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 设置请求方式 conn.setRequestMethod("POST"); // 设置请求头 conn.setRequestProperty("Content-Type", "application/json"); conn.setDoOutput(true); // 构造请求参数 String data = "{\"param1\":\"value1\",\"param2\":\"value2\"}"; // 发送请求 DataOutputStream wr = new DataOutputStream(conn.getOutputStream()); wr.writeBytes(data); wr.flush(); wr.close(); // 获取响应 int responseCode = conn.getResponseCode(); System.out.println("Response Code: " + responseCode); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); // 打印响应 System.out.println(response.toString()); } catch (Exception e) { e.printStackTrace(); } } } ``` 需要注意的是, 需要引入相应的包,上述代码需要用到URL, HttpURLConnection, DataOutputStream,BufferedReader等类 其中,参数 `data` 是请求的参数,格式为字符串。 通过上述代码可以发送一个 POST 请求,可以在响应的基础上进一步操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值