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

成都本地做网站的网站创建公司

成都本地做网站的,网站创建公司,帮别人做网站市场价,java 做网站的平台 开源Java面向对象-接口 一、JDK1.8之前二、接口的作用三、JDK1.8之后,新增非抽象方法四、静态方法 一、JDK1.8之前 1、类是类,接口是接口,它们是同一层次的概念 2、接口中没有构造器 3、接口如何声明:interface 4、在jdk1.8之前&…

在这里插入图片描述


Java面向对象-接口

  • 一、JDK1.8之前
  • 二、接口的作用
  • 三、JDK1.8之后,新增非抽象方法
  • 四、静态方法

一、JDK1.8之前

1、类是类,接口是接口,它们是同一层次的概念
2、接口中没有构造器
3、接口如何声明:interface
4、在jdk1.8之前,接口只有两部分内容
a、常量 public static final
b、抽象方法 pubilc abstract
注意:修饰符可以省略不写,ide会帮助你自动补全
5、类和接口的关系是什么? 实现关系,类实现接口
6、一旦实现一个接口,那么实现类要重写接口中全部的重写方法
7、如果没有全部重写抽象方法,那么这个类变成一个抽象类
8、java只有单继承,java还有多实现
一个类继承其他类,只能直接继承一个父类
但是实现类实现接口的话,可以实现多个接口
9、写法:先继承 再实现 class Student extends Person implements TestInterface01, TestInterface02
10、接口不能创建对象

package com.msb_interface;/*
1、类是类,接口是接口,它们是同一层次的概念
2、接口中没有构造器
3、接口如何声明:interface
4、在jdk1.8之前,接口只有两部分内容a、常量  public static finalb、抽象方法 pubilc abstract注意:修饰符可以省略不写,ide会帮助你自动补全*/
public interface TestInterface01 {//常量/*public static final*/ int NUM = 10;//抽象方法/*public abstract*/ void a();/*public abstract*/ void b(int num);/*public abstract*/ int c(String name);
}interface TestInterface02 {void e();void f();
}/*5、类和接口的关系是什么? 实现关系,类实现接口
6、一旦实现一个接口,那么实现类要重写接口中全部的重写方法
7、如果没有全部重写抽象方法,那么这个类变成一个抽象类
8、java只有单继承,java还有多实现
一个类继承其他类,只能直接继承一个父类
但是实现类实现接口的话,可以实现多个接口
9、写法:先继承 再实现 class Student extends Person implements TestInterface01, TestInterface02*/
class Student extends Person implements TestInterface01, TestInterface02 {@Overridepublic void a() {System.out.println("a.....");}@Overridepublic void b(int num) {System.out.println("b.....");}@Overridepublic int c(String name) {return 0;}@Overridepublic void e() {System.out.println("e.....");}@Overridepublic void f() {System.out.println("f.....");}
}class Test{public static void main(String[] args) {//10、接口不能创建对象TestInterface01 t =new Student();  //接口指向实现类——》多态//11、接口中的常量如何访问System.out.println(TestInterface01.NUM);System.out.println(Student.NUM);Student s = new Student();System.out.println(s.NUM);TestInterface01 t1 = new Student();System.out.println(t1.NUM);}
}

二、接口的作用

定义规则:只是跟抽象类不同地方在哪?它是接口不是类
接口定义好规则之后,实现类负责实现即可

继承:子类对父类的继承
实现:实现类对接口的实现

继承:收集 extends 照相机 “is-a”的关系,手机是一个照相机。
上面的写法不好。
实现:收集 implements 拍照功能 “has-a”的关系,手机具备照相的能力。

案例:飞机、小鸟、风筝

多态的应用场合:
1、父类当作方法的形参,传入具体的子类的对象
2、父类当作方法的返回值,返回的是具体的子类的对象
3、接口当作方法的形参,传入具体的实现类的对象
4、接口当作方法的返回值,返回的是具体的实现类的对象

三、JDK1.8之后,新增非抽象方法

被public default修饰的非抽象方法:
注意1:default修饰符必须要加上,否则出错。
注意2:实现类中要是想重写接口中的非抽象方法,那么default修饰符必须不能加,否则出错。

package com.msb_interface1;public interface TestInterface {//常量public static final int num =10;//抽象方法public abstract void a();//public default修饰的非抽象方法public default void b(){System.out.println("--TestInterface---b()----");}
}class Test implements TestInterface{@Overridepublic void a() {System.out.println("重写了a方法");}@Overridepublic void b() {TestInterface.super.b();}public void c(){//用接口中的b方法b();  //可以
//        super.b();  不可以TestInterface.super.b(); //可以}
}

四、静态方法

static不可以省略不写
静态方法不能重写

package com.msb_interface1;public interface TestInterface2 {// 常量public static final int NUM = 10;// 抽象方法public abstract void a();//public default非抽象方法、public default void b() {System.out.println("----b----");}//静态方法public static void c() {System.out.println("---c--");}
}class Demo implements TestInterface2{@Overridepublic void a() {System.out.println("重写了a方法");}public static void c() {System.out.println("---Demo中的c方法--");}
}class A{public static void main(String[] args) {Demo d = new Demo();d.c();Demo.c();TestInterface2.c();}
}
---Demo中的c方法--
---Demo中的c方法--
---c--

为什么要在接口中加入非抽象方法?
如果接口中只能定义抽象方法,那么我要是修改接口中的内容,那么对实现类的影响太大了,所有实现类都会受到影响。
现在在接口中加入非抽象方法,对实现类没有影响,想调用去调用即可。

http://www.yidumall.com/news/15304.html

相关文章:

  • 六安论坛网百姓畅言免费seo优化
  • 湘潭商城网站建设定制seo排名优化工具
  • 专业做db网站的公司企业网站模板
  • 彩票网站怎么做代理网站seo在线诊断分析
  • wordpress添加文章seo引擎优化方案
  • 淘宝基地网站怎么做网络推广都有什么方式
  • 应用商城app下载双桥seo排名优化培训
  • 齐诺网站建设有哪些平台可以做推广
  • 优化方案数学2024电子版汕头seo收费
  • 做网站要用到哪些技术指数函数图像
  • 专门做艺术字的网站网络营销广告案例
  • 网络推广营销工具seo培训多少钱
  • 物流公司网站建设济南seo优化外包服务公司
  • 网站详情页用哪个软件做小程序seo推广技巧
  • 网站设计与制作的论文报告品牌网络营销策划
  • java ee博客网站开发十大搜索引擎
  • 金泉网做的山东黄锈石网站有哪些佛山网站建设排名
  • 石河子网站建设公司手机百度安装下载
  • 重庆电商网站建设惠州seo排名
  • 山东房和城乡建设厅网站广东疫情中高风险地区最新名单
  • 青岛中企动力做网站怎么样数据查询网站
  • 怎样做商城网站的推广网络营销成功案例介绍
  • 珠海华兴建设工程有限公司网站广州网站运营专业乐云seo
  • 做软件的网站建设十大经典广告营销案例
  • 无法定位wordpress内容目录(wp-content)郑州seo线上推广系统
  • 关于做血糖仪的网站深圳货拉拉
  • 海阳网站制作百度网站首页提交入口
  • 网站建设计划 文库百家号关键词排名优化
  • 北京市朝阳区网站制作公司排名优化系统
  • gmp移动跨境平台电商长沙正规竞价优化服务