初学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 ...
随机推荐
- TCP的流量控制和拥塞控制
1.TCP的流量控制 一般说来,我们总是希望数据传输的更快一些.但如果发送方吧数据发送的过快,接收方就可能来不及接收,就会造成数据的丢失.所谓的流量控制就是让发送方的发送速率不要太快,要让接收方来的及 ...
- servlet&jsp高级:第一部分
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- win 8 pip install 或者 pycharm 安装 paramiko 报错
这是安装时报错的最后几行 creating build\temp.win-amd64-3.5\Release\build creating build\temp.win-amd64-3.5\Relea ...
- SQL:with ties
摘自: http://www.cnblogs.com/huanghai223/archive/2010/10/26/1861961.html “从100万条记录中的得到成绩最高的记录”.看到这个题目, ...
- window.location.hash
我们知道JavaScript中很早就提供了window.history对象,利用history对象的forward().go().back()方法能够方便实现不同页面之间的前进.后退等这种导航功能.但 ...
- iOS - UIRefreshControl 刷新数据
前言 NS_CLASS_AVAILABLE_IOS(6_0) __TVOS_PROHIBITED @interface UIRefreshControl : UIControl 1.UIRefresh ...
- ORACLE SQL 分组
select max(cost),suppliercode from tel_bill where period = '2014005' group by suppliercode;select * ...
- c How to Make an Ascii Picture.
import java.io.*; public class trans{ public static void main(String[] args){ try{ File inFile = new ...
- 【转】分析Linux和windows动态库
原文地址:http://www.cnblogs.com/chio/archive/2008/11/13/1333119.html 摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Lin ...
- Div里面载入另一个页面的实现(取代框架)(AJax)(转)
随着框架越来越不火了,HTML5就不对框架支持了,iframe也只有url了,Div就担当了此大任 DIV+CSS在页面部局确实也很让人满意,使用也更方便 今天突然遇到一个问题,那就是需要导入另一个页 ...