新手:接口

// 本人只是java初学者,以下内容可能来自书上,可能是感想

java没有多重继承,只有单继承

java接口是一组抽象的行为,可以被混合到任何类中,从而给它添超类不支持的行为

java接口只包含抽象的方法定义和常量——既没有实例变量,也没有方法实现

实现和使用接口

public class AnimatedSign extends javax.swing.JApplet

  implements Runnable {

  //……

}

javax.swing.JApplet 是超类,但接口Runnable扩展了它实现的行为

由于接口只提供了抽象的定义,因此必须在自己的类中使用    同样的   特征标  来实现这些方法

(什么是特征标? 同样的又是哪几种?)

实现接口时,必须实现该接口中所有的方法,而不能有选择的实现其中的某些。通过实现接口,表明这个类支持整个接口。

类实现接口后,其子类将继承这些新方法<并可以覆盖或重载它们>,就像超类定义了这些方法一样。若类是从实现特定接口的超类派生而来的,而不必在类定义中包含关键字implements(感觉只要不加new的话,还是加上吧,避免误解)

实现多个接口

(类是单继承的)与类不同,可以在自己的类中包含任意数目的接口,类将实现这些接口中的所有行为。要在类中包含多个接口,只需要将名称用逗号隔开

public class AnimatedSign extends javax.swing.JApplet

  implements Runnable,  Observable  {

  //……

}

创建新的接口

interface Expandable  {

  //……

}

在接口定义内,可以有方法和变量

接口内的方法定义是公有和抽象的,可以显式的声明这一点,若没有包括这些限定符,它们将被自动的转换为公有的和抽象的。不能在接口内将方法声明为私有或保护的。

接口还可以包含变量,但变量必须声明为公有、静态和final的,或者不使用限定符,将其隐式的声明为这样的

public interface Expandable {

  public static final int increment = 10;

  long capacity = 15000; // become public static and final

  public abstract void expand( ); //explicitly public and abstract

  void contract ( ); // effectively public and abstract

}

接口必须是公有的或包保护的?,就像类一样,但是如果声明接口时没有使用限定符public,接口不会自动将其方法转换为公有和抽象的,也不会将其常量转换为公有的。非公有接口的方法和常量也是非公有的,这些方法和常量只能被同一个包中的类和其他接口使用。

与类一样,接口也可以属于某个包。接口还可以导入其他包中的接口和类,就像类一样。

2017年8月16日10:15:56

时间: 2024-10-27 10:33:49

新手:接口的相关文章

java新手笔记21 接口

1.接口 package com.yfs.javase; public interface IDemo1 {//interface 接口 public /*abstract*/ void method1();//默认抽象方法 public } class Child1 implements IDemo1 { @Override public void method1() { // 实现接口的方法 System.out.println("call method1()"); } } 2.接

新手:python接口自动化(二)

编写HTTP请求py文件:httpRequests.py import requests class Requestes(): ''' HTTP请求类 ''' def __init__(self,host,test_url,method,param): ''' :param host: 服务器ip与port :param test_url: 测试接口地址 :param method: 请求方法 :param param: 请求参数 ''' self.host = host self.test_u

java新手笔记22 接口示例2

1.USB package com.yfs.javase; public interface USB { //定义规范 public void read(); public void write(); } 2.UDisk读写 package com.yfs.javase; public class UDisk implements USB { @Override public void read() { System.out.println("从U盘读取数据..."); } @Over

使用nodeJS创建API接口,连接mysql数据库(新手向简易版)

博主在学习安卓课程做期末程序的时候就一直想自己做API了,结果网上的教程感觉都太杂,很多都文不对题,找不到一个明确的思路,结果就只能放弃改用jdbc实现数据库交互,现在学了前端,又接触了一点nodeJS之后,才终于有了思路,最近也成功给自己放在服务器上的网站部署了API.现在就来分享一下,也顺便给自己留个备份. ps:只是自己突然想到的做法,而且个人觉得真的是简易版,可能不标准,但亲测能用. 一.前期准备 首先声明:不懂也没关系,直接仿照代码,需要修改的地方我会用红色标注出来,不过mysql一定

Thinkphp5使用api接口demo

阿里云有免费的手机归属地api接口,作为新手的博主决定使用该接口写一个手机归属地查询网站,学习api的使用. 主要思路: 获取前台传入的手机号->写出请求url,请求头,请求方式->初始化cURL变量->设置cURL变量参数->执行查询,保存返回的json数据->关闭查询连接->将json数据解析为php数组->将该php数组赋值到模板->前台调用该数组值. public function index() { $num=input('m'); //获取前台提

Restful风格API接口开发springMVC篇

Restful风格的API是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. 在Restful风格中,用户请求的url使用同一个url而用请求方式:get,post,delete,put...等方式对请求的处理方法进行区分,这样可以在前后台分离式的开发中使得前端开发人员不会对请求的资源地址产生混淆和大量的检查方法名的麻烦,形成一个统一的接口. 在Restful风格中,现

javascript新手入门必读书籍推荐

在当下,极多的程序员是通过自学来完成入门以及提升的.对于JavaScript的学习来说,同样不例外.许多新手入门javascript选择通过视频教程或者论坛交流的方式进行学习,这种方式固然较为轻松和便捷,但在知识的获取上有些碎片化,对于新手来说不是很好. 在javascript的入门阶段,通过书籍来学习对于新手来说才是最好的手段.书籍的学习固然比较枯燥,但是也是最权威,最系统化的,对于新手来说能够快速的完成基础知识的奠基,而对于之后进一步的提升也是大有裨益.这里笔者就结合自身经验为各位javas

新手入门:微信小程序--从入门到精通宝典

<ignore_js_op> 作为新手入门的宝典,我们整理了本论坛各种有价值的内容,并按循序渐进的方式呈现给大家.大家可以按顺序一篇一篇的攻克本帖中的内容,也可以作为字典,跳转至关注的内容去学习.希望大家在这里能快速成长,成为微信小程序开发的顶尖高手. 本帖的内容结构如下:一:小程序之张小龙全面阐述及思维导图:二:微信小程序官方地址三:如何学习微信小程序四:新手入门系列教程集合五:公司开发前必读六:个人开发前必读 一:小程序之张小龙全面阐述及思维导图: 小程序之张小龙全面阐述:于1月9日上线(

java接口调用——webservice就是一个RPC而已

很多新手一听到接口就蒙逼,不知道接口是什么!其实接口就是RPC,通过远程访问别的程序提供的方法,然后获得该方法执行的接口,而不需要在本地执行该方法.就是本地方法调用的升级版而已,我明天会上一篇如何通过socket实现rpc,以及服务的注册和动态上下线.这里先上一篇RPC的实现者一webservice,便于后面理解源码执行过程,框架就是在原理的基础上提供更加便捷的使用而已,协议就是基于TCP或UDP之上,服务者和调用者之间约定消息按照什么样的格式发送以及解析罢了.协议没什么高深莫测的. 原文和作者