java接口的初级学习_java初级写接口 - CSDN
  • 初学JAVA——接口

    2016-11-24 13:09:23
    初学java,总结一些接口的知识。

    接口是什么

    接口是java语言提供的另一种重要的功能,它的结构与抽象类非常相似。
    接口被用来建立类与类之间的协议。
    Java用多实现来代替多继承

    接口的定义和实现

    • 接口的定义
    [public] interface 接口名称 [extends 父接口(多个父接口用逗号隔开)]
    {
        [public][static][final] 数据类型 成员变量名 = 常量;
        ...
        [public][abstract] 返回值的数据类型 方法名(参数);
    }
    • 接口的实现
    class 类名称 implements 接口名1,接口名2...
    {
        //如果接口中的方法没有全部实现(重写),类需要定义为抽象类
    } 

    接口中的成员变量和成员方法的特点

    • 接口中成员变量的特点

    所有的成员变量都是static和final的。在定义的时候不能不初始化。

    import java.util.*;
    public interface RandVals
    {
        int NUMBER = 5;  //可以直接初始化
        public static final int NUMBER1 = 6; //public和static可写可不写
        Random RAND = new Random(47);
        int RANDNUMBER = RAND.nextInt(10); //可以用随机数初始化
        //int C   //此句错误,定义时不能不初始化
    }
    //接口中的成员变量储存在接口的静态存储区域,可以直接用接口名调用
    public class TestRandVals
    {
        public static void main(String[] args) 
        {
            System.out.println(RandVals.NUMBER);
            System.out.println(RandVals.NUMBER1);
            System.out.println(RandVals.RANDNUMBER);
        }
    }
    • 接口中的成员方法的特点

    所有成员方法都是public和abstract

    接口的继承和嵌套

    • 接口的多继承

    通过继承接口来扩展接口
    在java中允许接口存在多继承而不允许类存在多继承
    允许接口多继承的原因是接口中的方法没有方法体

    interface A
    {
        void fight();
    }
    interface B
    {
        void swim();
    }
    interface C
    {
        void run();
    }
    interface D extends A,B,C
    {//继承接口A,B,C来扩展接口D
        void fly();
    }
    public class Main implements D
    {
        public void fight() {};
        public void swim() {};
        public void run() {};
        public void fly() {};
    }
    • 使用接口多继承的注意事项

      在接口的多继承中,如果继承两个具有相同方法名而返回值不同的接口时,会发生什么?

    interface A
    {
        void fight();
    }
    interface B
    {
        int fight();
    }
    /*
    interface C extends A,B
    {
        //此接口会报错。
        //错误信息:The return types are incompatible for the inherited methods A.fight(), B.fight()
        //个人理解:C继承A,B后,相当于C中拥有两个方法:void fight()和 int fight(),java中不允许存在具有相同方法名而返回值不同的方法
    }
    */

    同样的道理,在实现接口中也会出现这样的问题

    interface A
    {
        void fight();
    }
    
    public class Main implements A
    {
        // int fight() {};  此句错误:The return type is incompatible with A.fight()
    
    }
    • 接口的嵌套

    接口可以嵌套在接口中
    特点:嵌套的接口一定是public的
    实现某个接口时,并不需要实现嵌套在其内部的任何接口

    interface A
    {
        void a();
        interface B
        {
            void b();
        }
        //private interface C {}  此句错误:The interface member type C can only be public
    }
    class Main implements A
    {
        public void a() {}
    }
    class Main1 implements A.B
    {//嵌套接口的实现
        public void b() {}
    }

    接口也可以嵌套在类中
    特点:类中的接口可以是私有的(private)。
    私有的接口只能被定义它的类实现

    class A
    {
        public interface B
        {
            void b();
        }
        private interface B1    
        {//类中的接口可以是private的
            void b1();
        }
        public class C implements B1
        {//可以用public类实现private接口
            public void b1() {}
        }
        private class C1 implements B1
        {//可以用private类实现private接口
            public void b1() {}
        }
    }

    关于Java中接口的知识点,我目前只会这些。
    有什么建议或者错误的地方,请评论,谢谢。

    展开全文
  • 后面三年慢慢接触接口,做接口需要有一定的java基础,不需要很深,现在很多同行业的公司都有接口端。接口主要作用:免费的叫数据互换,收费的叫数据市场。 数据互换:简单例子,两个同行业公司,A公司想要B公司...

    简述:转眼之间已经开发java有五年之余了,从以前的刚刚接触电脑,到现在的公司上班,真是转眼之间呀!前两年开发过前端,后台和Android,Android火的那几年,差点转去做Android,哈哈!后面三年慢慢接触接口,做接口需要有一定的java基础,不需要很深,现在很多同行业的公司都有接口端。接口主要作用:免费的叫数据互换,收费的叫数据市场。

    数据互换:简单例子,两个同行业公司,A公司想要B公司的用户信息,B公司想要A公司的货物信息,他们达成一致,然后之间做接口,进行数据互换,各取所需。

    数据市场:如阿里云的云市场,上面提供很多接口数据,这些接口数据你可以通过付费获取到。(卖数据这种最好通过公司来买卖,个人的话,捐钱跑路是有可能的哦?)

    一、现在简单说下我接触过的接口协议都有哪些:

    1.socket通信,这个是我第一次接触接口接触的接口通信方式。(老复杂了)

    2.webservice协议,在socket之后用的比较普遍的传输方式。

    3.http和https,目前流行的传输方式,大部分公司都用这种。

    4.ftp传输,其实ftp传输应该放在第一位,ftp是最早做数据交换的方式,就是开通个22或21端口,往对方服务器发文件,对方得到文件后在解析获取数据。

    二、协议说完了,我们在来说下传输的数据方式和结构。

    1.符号隔开法,最早的数据方式是一串字符串,用各种特殊符号隔开,然后通过截取符号的前面,后面或之间,来获取数据。(贼累,眼睛要看花的)

    2.xml(可扩展标记语言)结构,教程地址:http://www.runoob.com/xml/xml-tutorial.html 这种流行很长一段时间,公司双方定义xml的根元素和子元素,双方开发人员都按照根元素和子元素,在里面赋值,取值,现在很多开源框架都还用xml作为存储和配置文件。

    3.json(JavaScript Object Notation, JS 对象简谱),教程地址:http://www.runoob.com/json/json-tutorial.html 目前流行的数据传输格式,简洁,方便,易懂基本全占。目前公司都建议用json结构传输。

    上面只做简单介绍,后面会陆续发博文,介绍如何开发,调用,测试,以及对应的工具类,测试工具等。

    大家有其他的见解和建议欢迎提问留言。可以互相学习沟通!

    展开全文
  • Java初级起步 接口 什么是接口 抽象方法的集合,它是一个定义(龙骨),是一个规范,一般不去实现方法内容,接口的关键字是interface,它需要实现这个接口,需要去实现这个接口中的所有方法,一个类可以实现多个...

    Java初级起步

    接口

    1. 什么是接口
      抽象方法的集合,它是一个定义(龙骨),是一个规范,一般不去实现方法内容,接口的关键字是interface,它需要实现这个接口,需要去实现这个接口中的所有方法,一个类可以实现多个接口(java中的多继承)

    2. 如何定义一个接口
      ① 创建一个接口,关键字为interface

    public interface DemoA 
    

    ② 书写属性和方法,注意属性为常量,方法不需要方法体,必须为public(可省略)

    public void a();
    	public abstract void b();
    	//接口中的所有方法都必须是public
    	void c();
    	//JDK1.8之后 接口中可以有方法实现
    	/*public void d();{
    	 * }
    	 */
    

    ③ 创建一个类,通过关键字implements来实现接口,如果有多个接口需要实现,之间用逗号隔开

    public abstract class DemoC implements DemoA,DemoB,DemoD
    

    ④ 这个类必须实现接口的所有方法,如果有未实现的方法,这个类就是抽象类

    3.接口中的注意事项

    • 接口中的方法都必须为public,可以省略public
    • 接口中的方法如果是抽象方法,可以省略abstract
    • 接口不能被new,接口中没有构造器,它仅仅只是一个规范而已
    • 接口中的属性都是常量,也就是说这些属性都必须赋值,都一public static final开头,可省略,接口是存放常量的好地方String NAME="admin"//常量在接口中的名称一般为大写斜体
      在这里插入图片描述
      -多个接口如果定义了相同的名称,参数列表的方法,返回类型必须相同
      在这里插入图片描述
      -在这里插入图片描述
    • 接口也能进行继承,接口可以继承其他接口
      在这里插入图片描述
    展开全文
  • 初级Java学习目标

    2019-06-05 16:20:02
    java简介 Java开发环境搭建 Java基本语言元素 Java的流程控制 Java的流程控制 数组 Java面向对象 Java常用类 异常处理 集合框架 Java IO流 Java多线程 Java网络编程 Java解析XML文件 Java反射机制 2....

    阶段一

    1.JavaSE

    1. java简介
    2. Java开发环境搭建
    3. Java基本语言元素
    4. Java的流程控制
    5. Java的流程控制
    6. 数组
    7. Java面向对象
    8. Java常用类
    9. 异常处理
    10. 集合框架
    11. Java IO流
    12. Java多线程
    13. Java网络编程
    14. Java解析XML文件
    15. Java反射机制

    2.MySQL数据库

    1. MySQL的介绍和安装
    2. 数据库操作
    3. 表级别的操作
    4. 单表多表查询
    5. MySQL约束
    6. MySQL导入导出

    3.JDBC

    1. 了解JDBC概念
    2. 掌握JDBC核心接口和类
    3. 熟悉JDBC连接数据库的实现步骤
    4. 处理结果集
    5. 防止SQL注入问题

    4.JavaWEB

    • http协议
    • tomcat服务器
    • JSP/Servlet
    • AJAX

    5.项目实战

    要求

    1. 前段:HTML+CSS+JQuery+Bootstrap
    2. 后端:JSP+Servlet+JDBC
    3. 数据库:MySQL

    阶段二

    1.HTML

    1. 了解HTML语言
    2. 掌握HTML整体结构
    3. 字体标签
    4. 表单元素

    2.CSS

    1. 了解CSS
    2. 五大CSS选择器
    3. CSS导入方式

    3.javascript

    1. 了解JavaScript
    2. 掌握JavaScript基本语法
    3. JavaScript内部对象
    4. JavaScript的DOM
    5. BOM
    6. 自定义函数
    7. 全局函数
    8. 事件处理

    4.jQuery

    1. 了解jQuery
    2. jQuery选择器
    3. jQuery操作DOM
    4. jQuery动画和事件
    5. 掌握jQuery与AJAX的应用
    6. 了解JQuery插件

    5.XML解析

    1. 了解XML的概念和基本作用
    2. XML基本语法
    3. XML约束模式

    6.Bootstrap(HTML+CSS+JavaScript响应式布局框架)

    阶段三

    1.maven

    2.mybatis

    3.spring

    4.springmvc

    5.项目实战

    1. 前端:HTML+CSS+JQuery+Bootstrap
    2. 后端:springMVC+spring+mybatis
    3. 数据库;mysql
    4. 项目构建:maven

    阶段四

    1.webservice

    2.servlet3.0

    3.工作流:JBPM或Activiti5

    4.权限管理:shiro

    5.display tag分页标签

    6.UML

    7.JSF

    8.页面静态化:Freemarker

    9.weblogic

    10.网站搜索lucence

    11.页面缓存:scache

    12.图片分离jersey

    13.linux操作系统

    14.redis

    15.jquery图形报表

    展开全文
  • 2019年最新Java学习路线图,路线图的宗旨就是分享,专业,便利,让喜爱Java的人,都能平等的学习。从今天起不要再找借口,不要再说想学Java却没有资源,赶快行动起来,Java等你来探索,高薪距你只差一步! java...

     

    2019年最新Java学习路线图, 路线图的宗旨就是分享,专业,便利,让喜爱Java的人,都能平等的学习。从今天起不要再找借口,不要再说想学Java却没有资源,赶快行动起来,Java等你来探索,高薪距你只差一步!

     

    java学习基础

    针对Java零基础入门学习者,比较详细的知识点总结和学习路线

    数据库

     

    数据库是程序员必须要掌握中知识点,详细的学习思路和面试题,

    适用/适合人群:

    拥有Java语言并可以实现网站爬取数据并分析

    目标:

    掌握mysql,Oracle在各个平台上的安装及使用

    Mysql数据库基础

    1. mysql概述、优点、运行原理及内存结构
    2. mysql数据类型
    3. mysqlDDL语句的使用
    4. SQL语言的使用
    5. DML语句的介绍及使用
    6. SQL事务
    7. SQL查询机制、查询基础、技巧、查询优化;

    Mysql数据库高级

    1. mysql数据库引擎分类
    2. mysql事务
    3. mysql表
    4. mysql数据类型
    5. mysql视图
    6. mysql索引
    7. mysql分页
    8. SQL语句优化技巧

    Oracle实战

    1. Oracle安装与调试
    2. Oracle数据类型
    3. Oracle与MySQL对比
    4. Oracle数据结构概述
    5. Oracle运行原理
    6. Oracle内存结构
    7. Oracle表空间
    8. 用户,表,序列的创建及使用
    9. Oracle索引
    10. Oracle分区表的创建及使用

    PL/SQL实战

     

    1. PL/SQL基础知识
    2. 异常处理
    3. 游标
    4. 存储过程

    JDBC

     

    1. JDBC概述
    2. JDBC工作原理
    3. JDBC API
    4. JDBC访问数据库
    5. JDBC常用接口

    ●数据库连接池

    1. Java多线程开发
    2. 多线程与单线程比较
    3. 多线程应用
    4. 多线程使用注意事项
    5. 数据库连接池技术

     

    WEB前端技术

    目标:

    1. 掌握HTML,CSS,JavaScript等前端基本技术,并使用JSP,Servlet开发小型网站
    2. 使用框架技术开发大型网站

    HTML+CSS基础

     

    1. W3C标准
    2. HTML编辑工具
    3. HTML标签
    4. CSS的基本用法
    5. 在HTML中引入CSS样式

     

    CSS高级

    1. CSS编辑网页文本
    2. 列表样式
    3. 盒子模型
    4. 浮动
    5. 定位网页元素

    JS基础

    1. JavaScript核心语法
    2. 程序调试
    3. JavaScript对象

    JS高级

    1. 初识jQuery,jQuery选择器
    2. jQuery中的事件与动画
    3. jQuery操作DOM
    4. 表单校验

    JavaWEB

     

    web基础技(项目实战),初级的一般是用JSP(Java Server Pages)+servlet+Javabean来开发的,对大型的网站一般是使用框架来开发的,例如struts,hibernate,spring,典型的struts框架结构。

    JavaWEB项目

     

    EGOA项目、二手车电商平台项目都是JAVAWEB的项目

     

    Java高级框架

     

    设计模式

      设计原则 【单一职责、里氏替换、依赖倒置、接口隔离、迪米特法则、开闭原则】

      代理模式

      工厂模式

      策略模式

    Spring源码

     Spring核心组件

    IOC机制

     

    AOP实现原理【aop编辑思想、aop在spring中的使用、cglib和jdk动态代理】

    Transaction事务处理【事务隔离级别】

    SpringMVC【DispatcherServlet、请求映射、参数绑定与转换、页面渲染】

    Mybatis

    mydatis代码

    Sqlsession原理

    mybatis事务

    自带缓存机制与Spring结合实现缓存

    使用代码生成器快速开发

    互联分布式网架构体系

    1SpringBoot

    starter快速集成组件【缓存、数据库、消息队列、搜索引擎】

    AutoConfigure自动化配置

    Actuator系统监控【数据库、消息队列中间件、自定义监控】

    新注解特性分析

     

    工程化管理

    git管理

    maven

    Sonar代码质量检测平台

    jenkins持续集成

    Devops持续集成

    jenkins环境构建

    jenkins集成git/svn/tomcat/sonar

    jenkins插件机制

    微服务架构

    架构设计

    互联网架构【服务化架构】

    DDD领域驱动设计【建模、事件驱动】

    分布式系统架构

    微服务架构【服务拆分、服务治理】

    SpringCloud

    config分布式配置中心

    Eureka注册与发现机制

    Ribbon客户端负载均衡

    Hystrix服务熔断组件

    feign声明式服务调用

    Zuu网关服务

    docker

    decker【镜像、容器、常用命令】

    私有仓库

    docker swarm集群搭建

    docker compose部署脚本

    docker service服务编排

    docker stack分布式集群部署

    docker portainer容器可视化管理工具

    maven插件打包docker镜像

    docker部署运行java程序

    docker应用【搭建ELK、RabbitMQ、Mysql、部署高可用springCloud微服务实现动态扩容、、】

    分布式技术

    RPC模式【rmi,http,hessian】

    分布式系统指挥者Zookeeper【CAP理论、ZK、、】

    Dubbo框架【服务化思想、dubbo特性、dubbo原理】

    服务发现机制

    mock机制

    容错机制

    负载均衡机制

    序列化方式

    多协议支持

    配置加载机制

    数据绑定实现原理

    与spring的集成原理

    rpc-协议原理

    netty的使

    高并发开发技术

    java多线程【基础线程、线程池和Executor框架、线程安全、】

    java常用并发工具接口和类【ContDownLatch、CyclicBarrier、Semaphore、Exchange、ConcurrentHashMap、ConcurrentSkipListMap、Fork\Jion、HashMap、List】

    NIO【阻塞\非阻塞、高性能网络编辑框架-natty、】

    高并发-缓存【Redis、memcached、】

    高并发-消息队列【ActiveMq(JMS规范、ack机制)、RabbitMq(AMQP规范)】

    高并发-分流【DNS分流、CDN分流+加速、Nginx、LVS】

    高并发技术实战

    分布式锁定实现方案【redis、zookeeper】

    分布式事务解决方案【X/A协议、消息队列、TCC解决】

    分布式系统校验【分布式session、JWT方式、单点框架】

    互联网高可用框架【负载均衡技术分析、keepalive实现】

    分布式订单流水号生成策略【基于数据库、基于雪花算法、基于redis、】

    分布式系统数据存储【】

     

    传统数据库、

    NoSQL数据库、

    MYSQL高可用、

    MongoDB、

    大数据分库分表解决方案mycat

    性能优化

    JVM优化【参数调优、性能】

    WEB【java低能代码、Tomcat容器原理\手写简版Tomcat、Tomcat参数、Benchmark】

    SQL优化【数据库存储引擎、索引、Sql语句性能、SQL语句{业务层面、数据库层面、sql语句拆分}】

     

     

    展开全文
  • 两个月,这让我想到了我当年第一份工作,也是两个月从零学JAVA。当时就买了3本书,强啃了6周。记住一点,时间有限,别听网上很多大牛的,他们说的太杂。你要抓重点,你只要让人家知道,你足够初级开发就可以了,学了...
  • 目前,JAVA是开发人员的热宠,很多论坛都有不少热爱JAVA的开发人员,也有不少想成为JAVA程序员,但苦于不知道该如何学习,也不清楚该学些什么知识才能成为一个JAVA程序员。本人在这里抛砖引玉,和大家讨论成为一个...
  • 写过一个Java工程师学习指南,我把它分为了四个部分,第一步是打好Java基础,掌握Java核心技术,第二步是掌握Java Web技术栈,能够做一些项目,第三步是掌握Java方面的进阶技术,包括网络编程、并发编程、JVM等,第...
  • 目前,JAVA是开发人员的热宠,很多论坛都有不少热爱JAVA的开发人员,也有不少想成为JAVA程序员,但苦于不知道该如何学习,也不清楚该学些什么知识才能成为一个JAVA程序员。本人在这里抛砖引玉,和大家讨论成为一个...
  • 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序员经常会问到的问题 ...
  • 很多大学生或者正在自学的程序员问我:“二哥,能否提供一个 Java 入门的学习路线?”刚好我之前花了 7 周多的时间写了 25 篇 Java 入门的技术博文,于是我想不妨把这些整理成一个系列分享出来,给大家作为一个参考...
  • JAVA初级学习精要

    2005-03-23 16:38:00
    (一)、工具篇一、 JDK (Java Development Kit)JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK...
  • 我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。 扫描二维码或搜索下图红色VX号,加VX好友,拉你进【程序员面试学习交流群】免费领取。也欢迎各位一起在群...
  • java初级的一些感悟

    2017-12-25 11:14:34
    java中的类具有单继承多实现的特性 继承父类,实现接口 继承父类为对象特点的继承 实现接口为功能特性的实现 而用来实现功能的接口之间为多继承,即一个接口...关于流程控制是java初级一个很重要的东西,for与while
  • 这篇博客的意义:1、以后Java系列博客的大纲,2、将自己的学习路线记录下来 内容还是在更新阶段,文中的大部分内容后续都会慢慢更新我自己的理解和笔记。 好,话不多说,我们开始。 准备阶段: 一、JDK的下载(这里...
  • 2019年Java程序员的学习路线 一、基础篇 面向对象 什么是面向对象 面向对象、面向过程 面向对象的三大基本特征和五大基本原则 平台无关性 Java如何实现的平台无关 JVM还支持哪些语言(Kotlin、Groovy、JRuby...
  • 初级Java工程师面试准备 1、适合人群:应届计算机毕业生和Java初学者 2、知识储备,掌握以下知识或相关知识即可面试这一岗位 ·Java基本语法知识 ·Java面向对象知识 ·JSP与基本前端知识 ·数据库(Oracle,MySql)...
  • 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题。...
  • 1. 简述Java的基本历史 java起源于SUN公司的一个GREEN的项目,其原先目的是:为家用消费电子产品发送一个信息的分布式代码系统,通过发送信息控制电视机、冰箱等   1. 简单写出Java特点,写出5个以上,越多越...
  • 入职后如何快速成长到 CTO 入职后三个月试用期要做的事 ...JAVA 高级技术还需要学习哪些? 架构师课程如何学习? 工作中,快速学习新技术的捷径(重要的是形成体系,而不是钻到某个技术点) ...
1 2 3 4 5 ... 20
收藏数 12,243
精华内容 4,897
关键字:

java接口的初级学习