Java面向对象之接口

什么是接口:接口是一种规范和标准,他们可以约束类的行为,是一些方法特征的集合

语法:

【修饰符】 interface 接口名 extends 父接口1,夫接口2.......

class 类名 extends 父类名 implements 接口1,接口2.......

接口的命名规则:接口的命名规则与类相同,如果修饰符是public,则该接口在整个项目可见,如果省略修饰符,则该接口只在包中可见!

接口中可以定义常量,不能定义变量。接口中的属性都会自动用 public static final修饰(即接口中全部都是静态常量)!

接口中的方法都是抽象方法,接口中方法都会自动用 public abstract修饰,接口中只有全局抽象方法!

和抽象类一样,接口不能被实例化,接口中不能有构造方法!

接口的实现类必须实现接口的所有方法,否则必须被定义为抽象类!

接口之间可以使用extends实现继承,一个接口可以继承自多个接口,接口不能继承自类!

 1 //定义一个接口
 2 public interface UsbInterface{
 3 void service();
 4 }
 5 //使用其接口
 6 public class UDisk implements Usbinterface{
 7 public void service()
 8 {
 9  ..................
10 }
11 }

01.抽象类中可以有普通方法,接口中不能

02.抽象类可以有构造,接口不能

03.抽象类中可以有普通字段,而接口中不行

04.抽象类不能实现多继承,接口可以

05.符合is a关系的选用抽象类,符合has a关系的选用接口

05.接口比抽象类抽象程度更好

Java面向对象:接口的更多相关文章

  1. JAVA面向对象-----接口的概述

    接口的概述 **接口(interface):**usb接口,主要是使用来拓展笔记本的功能,那么在java中的接口主要是使用来拓展定义类的功能,可以弥补java中单继承的缺点. class Pencil ...

  2. Java面向对象---接口

    接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并不是类,编写接口 ...

  3. Java面向对象----接口概念

    接口语法 interface 接口名{ //静态常量,抽象方法 } 特点 接口中只能存放静态常量和抽象方法 java接口是对功能的扩展 通过实现接口,java类可以实现多实现 一个类可以同时继承(ex ...

  4. JAVA面向对象-----接口与类、接口之间的关系

    接口与类.接口之间的关系 大家之前都知道类与类之间的关系继承,那么接口与类之间又是怎样子的关系呢? 接口与类之间是实现关系.非抽象类实现接口时,必须把接口里面的所有方法实现.类实现接口用关键字impl ...

  5. JAVA面向对象-----接口的特点

    接口的特点 1.类实现接口可以通过implements实现,实现接口的时候必须把接口中的所有方法实现,一个类可以实现多个接口. 2.接口中定义的所有的属性默认是public static final的 ...

  6. Java面向对象接口的应用实例练习

    interface USB { public void open(); public void close(); } class Upan implements USB { public void o ...

  7. java基础1.0::Java面向对象、面向对象封装、抽象类、接口、static、final

    一.前言 一直以来都是拿来主义,向大神学习,从网上找资料,现在就把自己在工作中和学习中的所理解的知识点写出来,好记星不如烂笔头,一来可以作为笔记自己温习,二来也可以给走在求学之路的同学们一点参考意见, ...

  8. java面向对象(三)之抽象类,接口,向上转型

    java类 java类分为普通类和抽象类,接口,上一节我大概讲了java类的一般格式,今天将抽象类和接口.同时讲一下它们是怎样存储的. 最重要的是理解为什么要有抽象和接口,这样学下来你猜不会迷茫,才能 ...

  9. Java面向对象 第5节 抽象类和接口

    一.抽象类和抽象方法 区分抽象方法和普通方法1)当一个方法被abstract修饰时,该方法成为抽象方法2)抽象类所在的类必须定义为抽象类3)抽象方法不会有具体的实现,而是在抽象类的子类中通过方法重写进 ...

随机推荐

  1. clang编译mysql(Ubuntu10 64位)

    编译安装mysql(Ubuntu10 64位) http://www.cnblogs.com/2018/p/3482259.html 这个介绍了gcc形式编译安装mysql 那我们使用clang进行编 ...

  2. linux下发布的执行文件崩溃的问题定位 心得一则

    C++ Release版本发布到客户处执行时,如果程序崩溃,有什么办法能够快速的确认程序的问题呢? 如果能gdb调试的话,比较简单了,可以使用gdb命令,类似如下: gdb ##set args ** ...

  3. UITextView: 响应键盘的 return 事件(收回键盘)

    UITextView: 响应键盘的 return 事件(收回键盘) 此篇文章将要介绍UITextView: 响应键盘的 return 事件(收回键盘)的相关介绍,具体实例请看下文 UITextView ...

  4. iOS 单例模式 浅叙

    单例模式作用 可以保证在程序运行过程中,一个类只有一个实例,而且该实例易于供外界使用 从而方便地控制了实例个数,并节约系统资源 单例模式使用场合 在整个引用程序中,共享一份资源(这份资源只需要创建初始 ...

  5. UI控件闪灯

    做出点一个控件然后他和他上下左右的4个控件一起变色. #import "ViewController.h" @interface ViewController () @end @i ...

  6. IOS开发之UI布局

    前言:本篇随笔会经常更新,随着本人对布局的深入学习,会不断补充新的知识.新的使用技巧.新的认识等等. 1.Autoresizing(在代码中使用) 先简单的看看下面的代码,以及左边运行出来的效果,然后 ...

  7. Aptana Studio 3 汉化简体中文版

    最近开始学习ruby on rails了,同事推荐我用aptana这个编辑器,它对ror的支持比较好,所以安装了这个软件,但是发现都是英文的,所以在网上看汉化教程,幸亏有高手写过这个文章了,这里我只是 ...

  8. 为什么Java中字符串是不可变的

    前言 在Java中,字符串是一个不可变的类,一个不可变的类指的是它的实例对象不能被修改,所有关于这个对象的信息在这个对象被创建时已初始化且不能被改变. 不可变类有很多优势,这篇文章总结了字符串类之所以 ...

  9. 10个关于Java异常的常见问题

    这篇文章总结了十个经常被问到的JAVA异常问题: 1.检查型异常VS非检查型异常 简单的说,检查型异常是指需要在方法中自己捕获异常处理或者声明抛出异常由调用者去捕获处理: 非检查型异常指那些不能解决的 ...

  10. sqlserver删除所有表(表结构和数据)

    要删除某个数据库,或者删除数据库中的所有表(删除表结构和数据),需要先删除表间的外键约束,才能删除表.如删除数据库db_wy中的所有表: --/第1步**********删除所有表的外键约束***** ...