java interface 介绍
interface类似于class,只不过interface里的所有方法都是abstract抽象的,当一个非抽象的class实现(implements)一个接口interface时,必须实现接口中所有方法(因为都是abstract抽象的),否则该class必须声明为abstract.
------------
sample1:
/*interface usage*/
public class InterfaceSample {
public static void main(String[] args) {
new Ball().basketball();
new Ball().football();
}
}
interface Sport{
void basketball(); //default public abstract
void football();
}
class Ball implements Sport{
@Override
public void basketball() {
System.out.println("hello, basketball!");
}
@Override
public void football() {
System.out.println("hello, football!");
}
}
output:
hello, basketball!
hello, football!
-------------------------
sample2: 不同类通过接口实现通讯:
public class InterfaceSample2 {
public static void main(String[] args) {
GoodPeople p = new GoodPeople();
GetInfo info = new GetInfo();
info.setPeople(p);
System.out.println(info.getName()+ " is "+info.getDoing());
}
}
interface People{
String name();
String doing();
}
class GoodPeople implements People{
@Override
public String name() {
return "dylan";
}
@Override
public String doing() {
return "donating";
}
}
class GetInfo{
People p;
void setPeople(People p){
this.p = p;
}
String getName(){
return p.name();
}
String getDoing(){
return p.doing();
}
}
output:
dylan is donating
注意点:
1、一个接口可以继承(extends)自另一个接口
2、不允许类的多继承,但允许接口的多继承(同时继承多个接口)
3、类可以实现多个接口
4、类在继承另一个类的同时,可以实现多个接口,先extends后implements
-------------------------
dylan presents.
java interface 介绍的更多相关文章
- java JNI介绍
java JNI介绍 目录 java JNI介绍 1. Java调用C++代码 2.C++代码调用java代码 JNI是Java Native Interface的全称. oracle文档中是这样描述 ...
- Android下HelloWorld项目的R.java文件介绍
R.java文件介绍 HelloWorld工程中的R.java文件 package com.android.hellworld; public final class R { public s ...
- 深入Java虚拟机读书笔记第一章Java体系结构介绍
第1章 Java体系结构介绍 Java技术核心:Java虚拟机 Java:安全(先天防bug的设计.内存).健壮.平台无关.网络无关(底层结构上,对象序列化和RMI为分布式系统中各个部分共享对象提供了 ...
- java集合介绍(List,Set,Map)
前言 介绍java的常用集合+各个集合使用用例 欢迎转载,请注明作者和出处哦☺ 参考: 1,<Java核心编程技术(第二版)> 2, http://www.cnblogs.com/Litt ...
- Java学习介绍
Java版本介绍 JavaME:微型版,用于开发小型设备.智能卡.移动终端应用(使用率较低) JavaSE:标准版,用于创建桌面应用(企业用JavaSE创建桌面应用较少) JavaEE:企业版,用于创 ...
- 流行的9个Java框架介绍: 优点、缺点等等
流行的9个Java框架介绍: 优点.缺点等等 在 2018年,Java仍然是世界上最流行的编程语言.它拥有一个巨大的生态系统,在全世界有超过900万Java开发人员.虽然Java不是最直接的语言,但是 ...
- Java Interface 是常量存放的最佳地点吗?(转帖学习,非原创)
Java Interface 是常量存放的最佳地点吗?(转帖学习,非原创) 由于java interface中声明的字段在编译时会自动加上static final的修饰符,即声明为常量.因而inter ...
- Java监控工具介绍,VisualVm ,JProfiler,Perfino,Yourkit,Perf4J,JProbe,Java微基准测试【转】
Java监控工具介绍,VisualVm ,JProfiler,Perfino,Yourkit,Perf4J,JProbe,Java微基准测试[转] 本文是本人前一段时间做一个简单Java监控工具调研总 ...
- Java秘诀!Java逻辑运算符介绍
运算符丰富是 Java 语言的主要特点之一,它提供的运算符数量之多,在高级语言中是少见的. Java 语言中的运算符除了具有优先级之外,还有结合性的特点.当一个表达式中出现多种运算符时,执行的先后顺序 ...
- Java秘诀!Java赋值运算符介绍
运算符丰富是 Java 语言的主要特点之一,它提供的运算符数量之多,在高级语言中是少见的. Java 语言中的运算符除了具有优先级之外,还有结合性的特点.当一个表达式中出现多种运算符时,执行的先后顺序 ...
随机推荐
- 精通 VS 调试技巧,学习与工作效率翻倍!
欢迎大家来到贝蒂大讲堂 养成好习惯,先赞后看哦~ 所属专栏:C语言学习 贝蒂的主页:Betty's blog 1. 什么是调试 当我们写代码时候常常会遇见输出结果不符合我们预期的情 ...
- [转帖]ck的离线安装
下载 下载地址: https://repo.clickhouse.tech/tgz/stable/ 下载的包: clickhouse-common-static clickhouse-server c ...
- [转帖]netperf - 网络测试工具
1. 概述 Netperf是一种网络性能的测量工具,主要针对基于TCP或UDP的传输.Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer ...
- [转帖]一起来体验96核心、192线程CPU——第四代AMD EPYC处理器独家测试
http://k.sina.com.cn/article_1882475282_70344b12027010s1x.html 与第三代EPYC 7003系列处理器相比,新一代EPYC 9004系列处理 ...
- KylinV10升级部分软件的简单方法
背景 2022-12-26有同事晚上在群里反馈客户现场的测试环境内存紧张. 我这边第一反应是进程重复了,导致内存使用量飙升. 告知现场使用 ps -ef |grep java |grep caf 发现 ...
- ccs3动画-div向上移动的动画
<head> <meta charset="UTF-8"> <meta name="viewport" content=" ...
- kettle系统列文章03---如何建立一个作业
上篇文章我们建立好了转换,我们希望这个转换可以做成定时任务,每一分钟执行一次 第一步:创建作业开始节点:文件---->新建---->作业----核心对象---->通用-----> ...
- Postman 简单使用随笔记
1.要先使用Postman post请求,返回token,否则提示未登陆系统,下图为发送请求后的接口返回的信息 2.为方便,每次在访问接口时都要访问权限,所以将其作为局部的环境变量,设置如下: 3.要 ...
- C/C++ 常用加解密算法收集
网上收集的一些开发常用的加密解密算法的使用技巧,第三方库 Crypto++ 也可实现 Base64加密1 base64.h #ifndef base64_h #define base64_h #inc ...
- Pdfium.Net.Free 一个免费的Pdfium的 .net包装器--打开大文件处理
项目地址: Pdfium.Net:https://github.com/1000374/Pdfium.Net PdfiumViewer:https://github.com/1000374/Pdfiu ...