Java接口复习一下

news/2024/7/3 12:25:45 标签: 接口, java, 多态, 设计模式, 抽象类

单继承容易导致继承链过长,引入接口interface,接口是一种特殊的类,可以继承extends,

接口public修饰,里面的方法没有方法体,是抽象方法

 

 

接口的定义:很简单

所有方法都是public abstract属性的,接口定义了可能要做什么,但是么有具体干什么

 

对功能的聚合,用接口来实现!

比如说,一个汽车,自动挡汽车可以继承汽车,逻辑上不冲突,但是有了无人驾驶汽车,不能无人驾驶又继承自动挡汽车,功能不同,可以使用接口实现,接口继承汽车类。

用implements 关键字。

用可实例化的类来实现接口接口是抽象的,不可实例化。

 

接口中 的静态方法,只能用接口的名称来调用。

初学者不要去接口里面定义私有方法!有了这个可以写更灵活的代码

 

 

接口,语义上的一致,功能的聚和!

 

Java是面向对象,继承是最大特性,为了更好的复用代码,要学会继承。

 

 

 

 

 

 

别去背,背多了,死板,考试是没有意义的!记得越牢,反而不好适应新版本jdk

 

 

看到一个东西,不是直接写class xxx, 不会用继承,接口,就没理解面向对象的机制!不会用Java语言。

 

 

 

final的作用:安全机制,是一把锁

final + 方法:防止方法被重写

final + 类:防止类被继承,String ,Math 这些就是final修饰的!

final + 变量:常,可读,不能改

优点

 

static关键字

类名j点.方法不适应了

static + 方法:全局方法,属于整个类。不被任何一个对象所有。内存分配随类分配而分配!

调用格式:类名点方法

 

美元符号分级开。出现一个class 就会编译长生一个点class

 

内部类,

只能在类内部使用,加了public,也只能在类内部使用。

可以嵌套,

静态内部类不能有外部引用。

 

匿名类

只用一次,为了减少码农 的工作量,给出了匿名类的规则,直接new + 类名/接口名(){,,,,}

以前构造对象是用new操作符,这个是代理模式,

匿名内部类的使用

多态

思考题:定义一个类,只能有一个实例对象,怎么办?(word可以开多个窗口,微信只有一个窗口)

lambda可以将函数当参数传递过去    ->

 

 

程序调用方法

系统调用方法

 


http://www.niftyadmin.cn/n/1707690.html

相关文章

Everyday type conversion-ClassHelper

一、DataTable与实体类互相转换 /// <summary> ///功能说明&#xff1a;根据实体类得到表结构, /// 创建人&#xff1a;卜发相 /// 创建日期&#xff1a;2012-4-20 /// </summary> /// <param name"model">实体</param> /// <param n…

rocker_用Rocker制作模板

rocker在本文中&#xff0c;我们将快速介绍Rocker &#xff0c;这是一个静态类型化的快速Java 8模板引擎。 必需的依赖项 要开始使用Rocker&#xff0c;我们需要在项目中添加以下依赖项&#xff1a; <dependency><groupId>com.fizzed</groupId><artifact…

long long_Java中Long到Int的精确转换

long longJDK 8附带所有令人眼前一亮的东西( lambda表达式&#xff0c;流&#xff0c; Optional &#xff0c;新的Date / Time API等)来分散我的注意力&#xff0c;我并没有过多注意添加方法Math.toIntExact() 。 但是&#xff0c;这种小的添加本身可能会非常有用。 Math.toInt…

低代码学习教程:如何根据QQ号生成邮箱?

在这个内容里&#xff0c;我们来学习如何根据QQ自动生成邮箱地址&#xff0c;学会这个内容&#xff0c;希望大家能举一反三&#xff0c;去实现&#xff1a; 自动生成163邮箱。 自动生成126邮箱。 自动生成Hotmail邮箱。 …… 等等其他平台的邮箱地址&#xff0c;原理都是一样的…

HDOJ1235 ( 统计同成绩学生人数 ) 【水题】

Problem : 1235 ( 统计同成绩学生人数 ) Judge Status : AcceptedRunId : 5938229 Language : C Author : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta#include <stdio.h> #include <string.h> int main() {int…

arquillian_使用Arquillian(远程)测试OpenLiberty

arquillian听到许多好评后&#xff0c;我想我会尝试一下Open Liberty 。 在这篇文章中&#xff0c;我将讨论以下内容&#xff1a; 开放自由的设置 设置JDBC连接设置Arquillian 测试REST端点 安装开放自由 在撰写本文时&#xff0c;我正在使用Open Liberty 18.0.0.1&#xff0c…

百数案例 | 数百人参与的bpm流程审批业务落地

之前我们为大家分享过电商、人资、消防巡检等系统案例&#xff0c;今天我们将借助一个大型项目为大家展示百数bpm在二手车贷款审批业务的实际应用。项目成功实现数百人参与的bpm流程审批业务落地。对比传统模式&#xff0c;将梳理好的流程部署到线上&#xff0c;百数bpm能够帮助…

ActionScript 3 日积月累小知识点

本文是我&#xff08;aw&#xff09;在整理了相关文档和讨论之后&#xff0c;结合自己的亲自实验总结出来的一些经验和心得。我尽量描述详尽&#xff0c;避免模糊概念&#xff0c;当然也希望所有看官提出批评意见。为了表述方便&#xff0c;其中术语不限定语言&#xff0c;如我…