初学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 ...
随机推荐
- socket 异步选择 WSAAsyncSelect 用法
WSAAsyncSelect 实现给异步socket给了另一种实现方式,就是通过窗口消息的方式来提醒对socket接收还是发送 msdn有非常全面的解释:https://msdn.microsoft. ...
- How can I retrieve the remote git address of a repo?
When you want to show an URL of remote branches, try: git remote -v
- 即时定位与地图构建SLAM(Simultaneous Localization and Mapping)
SLAM 即时定位与地图构建SLAM(Simultaneous Localization and Mapping) 参考链接: 视觉SLAM漫谈,http://www.cnblogs.com/gaox ...
- Spark Streaming官方文档学习--下
Accumulators and Broadcast Variables 这些不能从checkpoint重新恢复 如果想启动检查点的时候使用这两个变量,就需要创建这写变量的懒惰的singleton实例 ...
- hd1496---->这道题是水水的数论吗?
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1496 题意: Consider equations having the following form: ...
- kafka单节点部署无法访问问题解决
场景:在笔记本安装了一台虚拟机, 在本地的虚拟机上部署了一个kafka服务: 写了一个测试程序,在笔记本上运行测试程序,访问虚拟机上的kafka,报如下异常: 2015-01-15 09:33:26 ...
- Hibernate级联删除时:Cannot delete or update a parent row: a foreign key constraint fails异常
在删除主表数据时,报了一个异常 Cannot delete or update a parent row: a foreign key constraint fails 原因是主表中还包含字表的数据, ...
- iOS - Delegate 代理
1.Delegate 1.1 协议 协议:是多个类共享的一个方法列表.协议中列出的方法没有相应的实现,计划由其他人来实现.协议中列出的方法,有些是可以选择实现,有些是必须实现. 1>.如果你定义 ...
- mysql 事件调度器
1.mysql事件调度器,也就是计划任务,计划做某事,有两种方式: 2.在某个时间点做某事,AT TIMESTAMP [+ INTERVAL INTERVAL] 某个时间点加上偏移. 3.定时地做某事 ...
- redis web 客户端工具 redis-admin
redis-admin是基于java的redis web客户端(redis client),以方便广大程序员使用redis为宗旨,集五种数据结构增删改查于一身. https://github.com/ ...