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 语言中的运算符除了具有优先级之外,还有结合性的特点.当一个表达式中出现多种运算符时,执行的先后顺序 ...
随机推荐
- Linux-用户管理-useradd-userdel-id
- Java开发者的Python快速进修指南:探索15种独特的Python特殊方法
概述 在Python中,特殊方法(也称为魔术方法)是由Python解释器自动调用的,我们不需要手动调用它们,而是使用内置函数来间接地使用它们.举个例子,我们可以实现特殊方法__len__(),然后通过 ...
- [转帖]OutOfMemory JVM参数一览
https://www.cnblogs.com/kuroro/p/11707951.html JVM提供了有用的参数来处理OutOfMemoryError.在本文中,我们要强调那些JVM参数.在对Ou ...
- [转帖]NVIDIA超级AI服务器NVIDIA DGX GH200性能介绍
https://zhuanlan.zhihu.com/p/633219396 2023 年 5 月 28 日NVIDIA宣布推出 NVIDIA DGX GH200,这是首款 100 TB级别的GPU ...
- [转帖]我们为什么放弃 MongoDB 和 MySQL,选择 TiDB
https://zhuanlan.zhihu.com/p/164706527 写在前面的话 技术选型是由技术方向和业务场景 trade-off 决定的,脱离业务场景来说技术选型是没有任何意义的,所以本 ...
- Jmeter之二_JSR223取样器,断言等添加失败的解决办法
Jmeter之二_JSR223取样器,断言等添加失败的解决办法 背景 最近在学习jmeter 但是发现在进行JSR223的相关取样器以及断言处理时出现了错误: java.lang.NoClassDef ...
- WorkStation的网络损耗
WorkStation的网络损耗 背景 对周六遇到的问题进行了一下深入思考. 发现虽然可以通过WorkStation的方式来进行Clients以及新命令的扩容. 但是Workstation的桥接网络模 ...
- isolcpus的学习与了解
isolcpus的学习与了解 前言 最近一直跟同事说要进行CPU的bind bind到具体的core 当时还一直装B, 说这样能够提高性能. 但是今天起床早上查看资料时发现,其实是先设置隔离的. 让操 ...
- [转帖]一次python服务的性能优化经历
https://juejin.cn/post/7208708762265616421 问题背景: 在我们的业务中,有一些推荐的场景会需要走到集团研究院的算法推荐服务,对一些用户进行个性化的课件推荐 ...
- [转帖]/etc/passwd文件 各个字段详解
转载自:https://www.sohu.com/a/320177323_505901 /etc/passwd文件: 系统用户配置文件,存储了系统中所有用户的基本信息,并且所有用户都可以对此文件执行读 ...