初学java之接口基础
/*
长城牌电视机
联想奔月5008PC机
*/ package st;
//接口回调实例
interface ShowMessage
{
void 显示商标 (String s);
}
class TV implements ShowMessage
{
public void 显示商标(String s)
{
System.out.println(s);
}
}
class PC implements ShowMessage
{
public void 显示商标 (String s)
{
System.out.println(s);
}
}
public class example_1
{
public static void main(String args[])
{
ShowMessage sm; //声明接口变量
sm=new TV(); //接口变量中存放对象的引用
sm.显示商标("长城牌电视机"); //接口回调
sm=new PC();
sm.显示商标("联想奔月5008PC机");
}
}
接口回调
/*
* 对于接口理解的一个列子
* 详情请关注龚细军(Gxjun)的博客
* */
package st; abstract class Motorvehicles
{
abstract void brake();
}
// 接口1
interface ControlTemperature
{
void ControlAirTemperature();
}
//接口2
interface MonenyFare
{
void Charge();
}
class Bus extends Motorvehicles implements MonenyFare
{
void brake()
{
System.out.println("公交车来啦!,嘟嘟");
}
public void Charge()
{
System.out.println("公交车收费为5毛");
}
}
class taxi extends Motorvehicles implements MonenyFare , ControlTemperature
{ void brake()
{
System.out.println("taxi来啦!,嘟嘟");
}
public void Charge()
{
System.out.println("taxi收费为5毛");
}
public void ControlAirTemperature()
{
System.out.println("taxi执行温度控制开关!");
}
}
class Cinema implements MonenyFare , ControlTemperature
{
public void Charge()
{
System.out.println("电影院收费为5毛");
}
public void ControlAirTemperature()
{
System.out.println("电影院执行温度控制开关!");
}
}
public class example_1 {
public static void main(String args[])
{
Bus myBus = new Bus();
taxi mytaxi = new taxi();
Cinema mycinema = new Cinema();
myBus.brake();
myBus.Charge();
mytaxi.brake();
mytaxi.Charge();
mytaxi.ControlAirTemperature();
mycinema.Charge();
mycinema.ControlAirTemperature();
}
}
/*
公交车来啦!,嘟嘟
公交车收费为5毛
taxi来啦!,嘟嘟
taxi收费为5毛
taxi执行温度控制开关!
电影院收费为5毛
电影院执行温度控制开关!
*/
接口与多态:
/*
11.23 22.78
a和b的算术平均值为:17.005000000000003
a和b的几何平均值为:15.99435525427643 */ package st ;
import java.util.Scanner;
interface c_average
{
public double average(double a, double b);
}
// 求算术平均值
class A implements c_average
{
public double average(double a , double b)
{
return (a+b)/2;
}
}
class B implements c_average
{
public double average(double a,double b)
{
return Math.sqrt(a*b);
}
}
public class example_1
{
public static void main(String args[])
{
Scanner reader=new Scanner(System.in);
double a,b;
a=reader.nextDouble();
b=reader.nextDouble();
A mya = new A();
System.out.println("a和b的算术平均值为:"+mya.average(a, b));
B myb=new B();
System.out.println("a和b的几何平均值为:"+myb.average(a,b));
}
}
接口与多态
初学java之接口基础的更多相关文章
- 慢慢人生路,学点Jakarta基础-深入剖析Java的接口和抽象类
在java面向对象编程的,抽象类和接口始终存在有疑问的地方,因为两者太多相似有太多不同,在刚开始学习的时候经常弄的不对,使用情景搞混,今天来总结之前学习Java中接口和抽象类的问题. 抽象类 了解:只 ...
- 初学 Java Web 开发,请远离各种框架,从 Servlet 开发
Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳实践.很多Web框架是从实际的Web项目抽取出来的,仅和Web的请求和响应处 理有关,形成一个基础,在开发别的应用项目的时候则可以从 ...
- 初学Java的那段日子
最近因为一个朋友想要学习Java,在帮助他找教程的过程中回想到了我自己当年学习Java的那段岁月,故写了此篇文章总结了一下初学Java所必须要掌握的知识点,然后把一部分常见的面试题罗列出来.给予刚刚开 ...
- 初学Java web(转)
转自 http://www.oschina.net/question/12_52027 OSCHINA 软件库有一个分类——Web框架,该分类中包含多种编程语言的将近500个项目. Web框架是开发者 ...
- 深入理解Java的接口和抽象类(转)
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...
- 深入理解Java的接口和抽象类
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...
- Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式
概要 本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable.之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程.关于线程 ...
- Java多线程系列--“基础篇”05之 线程等待与唤醒
概要 本章,会对线程等待/唤醒方法进行介绍.涉及到的内容包括:1. wait(), notify(), notifyAll()等方法介绍2. wait()和notify()3. wait(long t ...
- java微信接口之四—上传素材
一.微信上传素材接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=A ...
随机推荐
- [SAP ABAP开发技术总结]ABAP读写、解析XML文件
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- ServiceStack.OrmLite 学习笔记3 建表
创建表 前一篇忘记写创建表了,这里补上.(其实前一篇也有那么一点) 建议安装源码里的t4模板看看效果先. public 的属性才有效 在表被创建或者删除的时候执行sql语句 [PostCreateTa ...
- SecureCRT显示中文和语法高亮
因为默认情况下,SecureCRT不能显示语法高亮特性,整个界面颜色单一,看起来不爽,也没有效率,所有通过设置一下语法高亮还是很有必要的, 默认字体也看着不是很清晰,还是更改为我比较喜欢的Courie ...
- 机器学习十大算法之KNN(K最近邻,k-NearestNeighbor)算法
机器学习十大算法之KNN算法 前段时间一直在搞tkinter,机器学习荒废了一阵子.如今想重新写一个,发现遇到不少问题,不过最终还是解决了.希望与大家共同进步. 闲话少说,进入正题. KNN算法也称最 ...
- 正则的小效果:-------> 过滤敏感词
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- C++—复合类型
内容概要: -创建和使用数组 -创建和使用C-风格字符串 -创建和使用string类字符串 -使用方法getline()和get()读取字符串 -混合输入字符串和数字 -创建和使用结构 -创建和使用共 ...
- PHP中file_put_contents追加和换行
在PHP的一些应用中需要写日志或者记录一些信息,这样的话.可以使用fopen(),fwrite()以及 fclose()这些进行操作.也可以简单的使用file_get_contents()和file_ ...
- ajax form表单回显
/* * 表单自动回显js * 依赖JQURY * 使用参考:$("#form1").form("load",{"id":"112 ...
- hiho_1089_floyd最短路
题目 floyd算法求所有顶点之间的最短路,典型的模板题.唯一需要注意的是两个顶点之间可能有多条边直接相连,在初始化的时候,直接选择最小的长度作为两点间的距离即可. 实现 #include<io ...
- 如何创建和使用XMLHttpRequest对象?
创建XMLHttpRequest对象,我有以下几种方法,顺带给大家介绍下他们的使用,一起来看看那吧. 1. 第一种,我们可以使用构造函数的方式.直接new的方式,这样我们就构造了这个对象. reque ...