初学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 ...
随机推荐
- Create,Insert
创建表 create table people ( id int ,name ) ) create table toys ( id int ,name ) ,people_id int ) CREAT ...
- [HDOJ5289]Assignment(RMQ,二分)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5289 题意:求满足区间内最大值和最小值差为k的区间个数. 预处理出区间的最值,枚举左端点,根据最值的单 ...
- NPO与X7R、X5R、Y5V、Z5U神马的有啥区别
主要是介质材料不同.不同介质种类由于它的主要极化类型不一样,其对电场变化的响应速度和极化率亦不一样. 在相同的体积下的容量就不同,随之带来的电容器的介质损耗.容量稳定性等也就不同.介质材料划按容量的温 ...
- ubuntu安装miniconda
系统:ubuntu15.04 64位 wget -c http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh chm ...
- jquery获取当前时间
一.获取当前时间 new Date()方法---------得到结果是当前电脑时间如2011-11-6,10:07 二.获取有个固定的时间方法---------var endtime=new Date ...
- [Java解惑]异常
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- poj 1654 Area (多边形求面积)
链接:http://poj.org/problem?id=1654 Area Time Limit: 1000MS Memory Limit: 10000K Total Submissions: ...
- SQL Server 中 RAISERROR 的用法
From : http://www.cnblogs.com/xugang/archive/2011/04/09/2010216.html raiserror 是由单词 raise error 组 ...
- bzoj 1054: [HAOI2008]移动玩具 bfs
1054: [HAOI2008]移动玩具 Time Limit: 10 Sec Memory Limit: 162 MB[Submit][Status][Discuss] Description 在 ...
- ubuntu 安装JDK
下载JDK6安装包,我的为32位系统所以选择jdk-6u35-linux-i586.bin 下载地址:http://www.oracle.com/technetwork/java/javase/dow ...