初学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 ...
随机推荐
- UE4高级功能--初探超大无缝地图的实现LevelStream
转自:http://blog.csdn.net/u011707076/article/details/44903223 LevelStream 实现超大无缝地图--官方文档学习 The Level S ...
- 曲线救国,解决Mac系统下,Android sdk下载失败的问题
Mac下翻_墙的问题 话说GFW屏蔽谷歌已经有一阵子了,最近打算在Mac系统下折腾个Android应用,备好了IDE,只欠SDK,无奈下载时因为GFW的缘故,总是失败,我心痛哉! 由于本人偏爱Mac系 ...
- Linux安装配置JDK
如果想看Windows下的安装,请访问此链接: http://www.cnblogs.com/yoyotl/p/5101321.html 1. 去官网下载Linux版本的jdk安装包,(我下载的是ta ...
- Oracle ——————建表、select、视图
--建表 -- 关键字 : create -- 用法 : /* create table table_name ( lie1_name 数据类型 是否为空, lie2_name 数据类型 是否为空, ...
- Maven初学
先上几张霸气的图:
- [Java解惑]异常
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- CSS笔记(二)CSS属性选择器
对带有指定属性的HTML元素设置样式. 参考: http://www.w3school.com.cn/css/css_syntax_attribute_selector.asp 选择器 描述 [att ...
- Android中利用SharedPreferences保存信息
package com.example.sharepreferen; import android.content.Context; import android.content.SharedPref ...
- iOS - OC Foundation 框架
前言 框架是由许多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易. Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架. Cocoa :是指 ...
- hdu 1081(最大子矩阵和)
题目很简单,就是个最大子矩阵和的裸题,看来算法课本的分析后也差不多会做了.利用最大子段和的O(n)算法,对矩阵的行(或列)进行 i和j的枚举,对于第 i到j行,把同一列的元素进行压缩,得到一整行的一维 ...