当前位置: 首页 > news >正文

淄博市建设局网站首页免费的编程自学软件

淄博市建设局网站首页,免费的编程自学软件,网站怎么做vga头,简洁大气的网站模板文章目录1、接口的概念2、接口的定义3、接口的使用4、接口和抽象类1、接口的概念 类是一种具体的实现体,而接口定义了一种规范(抽象方法),接口定义了某一批类所需要遵循的规范,接口不关心类内部的属性和方法的具体实现…

文章目录

    • 1、接口的概念
    • 2、接口的定义
    • 3、接口的使用
    • 4、接口和抽象类

1、接口的概念

类是一种具体的实现体,而接口定义了一种规范(抽象方法),接口定义了某一批类所需要遵循的规范,接口不关心类内部的属性和方法的具体实现,只规定这批类必须提供某些方法,提供这些方法的类就可满足对接口的使用。

接口是从多个相似类中抽象出来的规范,不提供具体的实现。

接口体现的是【规范】和【实现】分离的设计哲学。

接口是一种引用数据类型。

2、接口的定义

接口定义的基本语法:

[修饰符] interface 接口名称 extends 父接口1, 父接口2,...{// 静态常量// 抽象的实例方法(普通方法)// 内部类、内部接口、内部枚举(都是静态的)// 默认方法(实例方法,由接口的实现类的实例来调用)、类方法(静态方法)// 私有方法(java 9 提供)
}

说明:

  • 修饰符:public / 省略(包权限)
  • 接口名称和类名遵循相同命名规则
  • 类是单继承:一个类的直接父类只能有一个
  • 接口是多继承:一个接口的直接父类可以有多个
  • 接口只能继承接口,不能继承类;
    • 类与类之间是单继承;类与接口之间是多实现;接口与接口之间是多继承;接口不能继承类。
  • 接口是一种公共行为规范,不能包含构造器和代码块
  • 接口里的常量、方法(抽象方法、默认方法、类方法)、内部类、枚举、接口都是 public 访问权限
  • 私有方法既可以是类方法,也可以是实例方法
  • 默认方法使用 default 修饰(注:这里的 default 不是访问控制修饰符)

常量

语法格式:

[public] [static] [final] 变量名称 = 变量值;

抽象方法

接口里的普通方法默认为抽象方法。

语法格式:

[public] [abstract] 返回值类型 方法名称(形参列表);

默认方法

语法格式:

[public] default 返回值类型 方法名称(形参列表){// 方法体
}

静态方法

从 java 8 开始,允许在接口里定义类方法,类方法必须使用 static 修饰,不能使用 default 修饰。无论程序是否指定访问控制修饰符,类方法总是使用 public 修饰。

如果没有指定 public,系统会自动为类方法添加 public 修饰符。类方法可以直接使用接口来调用。

语法格式:

[public] static 返回值类型 方法名称(形参列表){// 方法体
}

实例私有方法

当两个默认方法(或类方法)中包含一段相同的实现逻辑时,程序必然考虑将这段实现逻辑抽取成工具方法,而工具方法是应该被隐藏的,这就是 java 9 增加私有方法的必然性。

实例私有方法:解决多个默认方法之间重复代码的问题。

静态私有方法:解决多个静态方法之间重复代码的问题。

私有方法只有接口自己才能调用,不能被实现类或别人调用

语法格式:

private 返回值类型 方法名称(形参列表){// 方法体
}

类私有方法

语法格式:

private static 返回值类型 方法名称(形参列表){// 方法体
}

示例

// 使用关键字 interface 定义一个接口
public interface InterfaceTest  {// 接口里没有构造器和代码块// 定义变量// 类常量 自动用 public static final 修饰public static final int MAX_SIZE = 20;// 定义方法// 抽象方法、默认(实例)方法、类方法 都用 public 修饰// 抽象方法public abstract void abstractMethod();// 类方法public static void staticMethod() {}// 默认方法(实例方法,由接口的实现类的实例来调用)public default void defaultMethod() {}// 私有方法(java9)/*private void privateMethod(){ }*/// 接口里定义:内部类、接口、枚举,自动用 public static 修饰// 静态内部类public static class StaticInnerClass {}// 接口public static Comparable COMPARABLE = null;// 枚举public static Enum ENUM = null;
}

3、接口的使用

接口的主要用途就是被实现类实现。

类实现接口的语法格式:

[修饰符] class 类名称 extends 基类 implements 接口1, 接口2, ...{}

说明:

  • 继承使用 extends 关键字;实现使用 implements 关键字。
  • 一个类可以实现多个接口,也是 java 为单继承灵活性不足所做的补充。
  • 实现接口与继承父类类似,一样可以获得接口里常量(包括成员变量)、方法(包括默认方法和抽象方法)。
  • implements 部分必须放在 extends(如果有) 之后

在接口里声明引用类型变量 同样使用 public static final 修饰

不能直接使用接口来创建实例,但可以在接口里声明引用类型变量。

能够对实例进行初始化的地方有三个:声明的同时赋值,代码块、构造器。

因为接口里无代码块和构造器,所以一旦在接口里声明了引用类型变量,同时还要对它进行初始化赋值。

注:

1、实现接口里的方法时,必须使用 public 访问控制修饰符,因为接口里的方法都是 public 的,而子类(相当于实现类)重写父类方法时,访问权限只能更大或相等,所以实现类实现接口里的方法时只能使用 public 访问权限。

2、一个类实现了一个或多个接口之后,这个类必须完全实现(重写)这个接口里的所有抽象方法。否则将保留从父接口那继承的抽象方法,该类也必须定义为抽象类。

除了抽象方法之外,接口里的默认方法也可以被实现类覆盖重写。

默认方法,可以解决接口升级的问题

interface B {default void test(){System.out.println("B-->默认方法");}}class A implements B{@Overridepublic void test() {System.out.println("A-->默认方法");}
}

注:

  1. 不能通过接口实现类(或者接口实现类对象)来调用接口中的静态方法
  2. 如果实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写一次即可。
  3. 如果实现类没有覆盖重写所有接口当中的所有抽象方法,那么实现类就必须是一个抽象类。
  4. 如果实现类所实现的多个接口当中,存在重复的默认方法,那么实现类一定要对冲突的默认方法进行覆盖重写。
  5. 一个类如果直接父类当中的方法,和接口当中的默认方法产生了冲突,优先用父类当中的方法。
  6. 多个父接口当中的抽象方法如果重复,没关系。
  7. 多个父接口当中的默认方法如果重复,那么子接口必须进行默认方法的覆盖重写,而且带着 default 关键字。

4、接口和抽象类

相同点

  • 无法实例化,用于被其他类实现或继承。
  • 都包含抽象方法,实现接口或继承抽象类的子类都必须实现这些抽象方法。

不同点(用法上)

  • 接口里的普通方法即为抽象方法;而抽象类既可以有普通方法,也可以有抽象方法
  • 接口里没有代码块和构造器;而抽象类里有
  • 接口里只有静态常量;而抽象类里可以有静态变量,也可以有实例变量
  • 接口之间可以是多继承;而抽象类的类与类之间也是单继承

接口主要是作为一种公共规范标准(通信标准、耦合标准)来使用。

而抽象类主要是一种模板式设计。

http://www.yayakq.cn/news/188736/

相关文章:

  • 陕西餐饮加盟网站建设英文网站优化
  • 网站服务器停止响应是什么意思互动创意网站
  • 网站收录量wap php网站源码
  • 宜春网站建设公司wordpress php 採集
  • 创办网站需要怎么做中国互联网协会12321举报中心
  • 怎么找有赞做网站中文网站建设和英文网站建设的区别
  • 做网站企业 金坛深圳 企业网站建设
  • 建德网站seo网站添加背景音乐
  • 安徽茶叶商城网站建设大连制作网站公司
  • 网站建设费怎么做分录网络网页设计制作公司
  • 素材网站上的元素是怎么做的最好的网站建设价格
  • 做百度网站每年的费用多少合适免费做网站哪里有
  • 网站架设标准买域名的网站
  • 酒类网站建什么是网络推广工作
  • 竞价网站做推广做网站用虚拟主机怎么样
  • 做企业网站所要注意什么东莞整合网站建设
  • 上海建设牌电动三轮官方网站天津正规制作网站公司
  • 网站管理员后台做电影网站会违法吗
  • 山东省建设文化传媒有限公司网站优化seo方法
  • 如何免费制作企业网站做聚美优品网站得多少钱
  • 个人可以做电影网站吗公司设计一个网站
  • 吴江建网站wordpress中文版本
  • 商城建网站关键词工具有哪些
  • 外贸seo网站推广公司群晖wordpress端口
  • 西宁做网站_君博相约做菠菜网站判多久
  • 襄阳做网站公司哪家好网站seo综合查询
  • 一元云够网站建设网架有限公司
  • 廊坊市做网站的公司有哪些长沙模板建站欢迎咨询
  • 河北网站备案查询系统淘宝详情页做的比较好的网站
  • 自己可以建立网站吗域名购买是什么意思