java 接口 实验报告_java-接口练习实验报告
计算机工程学院实验报告
2017-2018学年第1学期
课程名称:
面向对象程序设计
专 业:
计算机科学与技术
班 级:
学 号:
姓 名:
指导教师:
实验名称:接口技术练习
实验日期:2017.11.07
实验平台:Windows 7 + JDK8+Eclipse
实验目的熟练掌握接口和接口技术的实现
实验内容与完成情况
1. 创建一个收费接口Charge,其中有一个抽象方法charge().
创建另一个收费接口Play,其中有一个抽象方法play().
声明类Bus来实现接口Charge,对于Bus中的charge(),实现为输出“公共汽车:1元/张,不计公里数”。
声明类Taxi来实现接口Charge,对于Taxi中的charge(),实现为输出“出租车:1.6元/公里,起价3公里
声明类Cinema来同时实现接口Charge,Play。对于Cinema中的charge(),实现为输出“解放电影院:30元/张,凭学生证享受半价。”
对于Cinema中的play(),实现输出为“正在放映电影。“
在主类中创建对象,输出结果。
代码:
package bhjx;
interface Charge{
void charge();
}
interface Play{
void play();
}
class bus implements Charge{
public void charge(){
System.out.println("公共汽车:1元/张,不计公里数");
}
}
class taxi implements Charge{
public void charge(){
System.out.println("出租车:1.6元/公里,起价3公里");
}
}
class cinema implements Charge,Play{
public void charge(){
System.out.println("解放电影院:30元/张,凭学生证享受半价");
}
public void play(){
System.out.println("正在放映电影");
}
}
public class fee {
public static void main(String[] args) {
bus b = new bus();
taxi t = new taxi();
cinema c = new cinema();
b.charge();
t.charge();
c.charge();c.play();
}
}
运行结果:
2. 定义资金操作接口Manage,抽象方法有double cunkuan(double m),double qukuan(double m)。设计银行账户Bank类实现资金操作接口Manage,成员变量账号,姓名,存款余额。构造方法,与输出当前余额方法disp()。
代码:
public class money1 {
public static void main(String[] args) {
Bank b=new Bank("154010101","张三丰",1000);
b.disp();
b.cunkuan(5000.0);
b.disp();
b.qukuan(1000);
b.disp();
}}
interface Manage{
double cunkuan(double n);
double qukuan(double n );
}
class Bank implements Manage{
String id;
String name;
double money;
Bank(String i,String n,double m){
id=i;
name=n;
money=m;}
public double cunkuan(double m){
return money= money+m;
}
public double qukuan(double m){
money=money-m;
return money; }
void disp(){
System.out.println("账户为:"+id+" 姓名:"+name+ " 账户余额为:"+money);
}
}
运行结果:
3. 重新定义 Manage,包含抽象方法operation(Bank b,double m),需要银行账户和存取款金额。Bank类中不在定义存取款方法。
定义cunkuan和qukuan类分别实现Manage的存取款方法。定义Caital类包含Caitaloperation(manage s,Bank b,double m)方法实现存取款功能,s对象如果是Caitaladd则实现存款,若是Caitaldesc,则实现取款操作,实现方法的多态性。主类中分别创建4个类的对象,实现存取款操作。
代码:
public class money2 {
public static void main(String[] args) {
Bank b=new Bank("154010101","张三丰",15000.0);
cunkuan a=new cunkuan();
qukuan c=new qukuan();
b.disp();
caital x=new caital();
x.caitaloperation( a,b,200);
b.disp();
x.caitaloperation( c,b,310);
b.disp();
} }
interface Manage{
double operation(Bank b,double m); }
class Bank{
String id;
String name;
double money;
Bank(String i,String n,double m){
id=i;
name=n;
money=m;
}
void disp(){
System.out.println("账户为:"+id+ " 姓名:"+name+ " 余额为:"+money);
} }
class cunkuan implements Manage{
public double operation(Bank b,double m){
b.money=b.money+m;
return b.money;
} }
class qukuan implements Manage{
public double operation(Bank b,double m){
b.money=b.money+m;
return b.money;
} }
class caital{
void caitaloperation(Manage s,Bank b,double m){
if(s instanceof cunkuan)
System.out.println("存款成功,当前余额为:"+ s.operation(b,m));
else if(s instanceof qukuan)
System.out.println("取款成功,当前余额为:"+ s.operation(b,m));
else System.out.println("金额输入有误");
} }
运行结果:
出现的问题及解决方案
实验中发现了自己的很多不足,比如对接口的implements用法及使用规范不熟悉,对各关键字的写法不熟悉。同时也了解了接口中的方法都是抽象的,不能实例化对象。
教师评阅意见
成绩: 教师签名: 日期: 相关关键词:
java 接口 实验报告_java-接口练习实验报告相关推荐
- java弹弹球实验报告_Java弹球游戏实验报告—chen
Java弹球游戏实验报告-chen 课 程 设 计 报 告 题 目 弹球小游戏 姓 名 方成 学 号 20 专 业 java 指导教师 陈华恩 2013年 12 月 30 目录 一.实验目的2 二.需 ...
- java红牛农场答案_Java面向对象程序设计实验指导与习题解答(21世纪高等学校计算机专业实用规划教材)...
导语 <Java面向对象程序设计实验指导与习题解答>是<Java面向对象程序设计>(作者耿祥义,清华大学出版社出版,2010)的配套实验指导和习题解答,目的是通过一系列实验练习 ...
- java红牛农场答案_Java面向对象程序设计实验指导与习题解答
第1章 java入门 实验1一个简单的应用程序 实验2教室.教师和学生 实验答案 第2章 基本数据类型 实验1输出特殊偏旁的汉字 实验2输入.输出学生的基本信息 实验3超大整数的加法 实验答案 第3章 ...
- java抽象和接口的理解_Java接口实现与抽象类的区别理解 | 彬菌
版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创! 恰饭广告 接口:接口是抽象方法的集合.接口通常以interface来声明. 接口注意事项: 1.严格来说,接口是用来实现(i ...
- Java私有方法解释_java接口中 定义 private 私有方法
在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...
- java什么是网络接口_java接口和类的区别是什么?它们都有哪些作用呢?
由于新兴技术的发展,java不断地被更多人应用,而其中java接口和java类的区别主要是哪些,在哪些方面作用显著?这是困扰许多人的问题,那么,让我们继续看一下这两者的区别和作用吧? 在java中,对 ...
- java nio的演进_Java接口的防御性API演进
java nio的演进 API的发展绝对是不平凡的. 只有少数几个需要处理的事情. 我们大多数人每天都在使用内部专有API. 现代IDE附带了很棒的工具,可以分解,重命名,上拉,下推,间接,委托,推断 ...
- java接口编程题_Java接口练习题
1.说出下面程序的执行结果: interface InterfaceA { String S = "good "; void f(); } abstract class Class ...
- java接口的关键字_Java 接口 interface关键字
1.概念:一种特殊的类,有全局常量和公共方法组成 定义接口用interface关键字 2.语法: //中括号"[ ]"的含义:你可继承父接口,也可不继承,是可选的 [修饰符] (a ...
- java抽象类接口举例代码_Java接口和抽象类实例分析
本文实例讲述了Java的接口和抽象类.分享给大家供大家参考.具体分析如下: 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相 ...
最新文章
- 利用numpy对已知样本点进行多项式拟合
- 25台机器人=18名搬运工,我在徐福记工厂,围观了给旷视河图的落地现场
- C#中使用Path、Directory、Split、Substring实现对文件路径和文件名的常用操作实例
- 工作212:不能改变父组件值
- java类型之间的转换_JAVA基本数据类型及之间的转换
- linux yum 链接,Linux YUM之YUM仓库
- 5.自定义MAGENTO主题
- 学习笔记之极客时间《Java 核心技术面试精讲》
- 2022年全球市场激光直接成像系统(LDI)总体规模、主要生产商、主要地区、产品和应用细分研究报告
- 计算机磁盘分为硬盘和什么,win10磁盘分区合并的方法是什么_win10电脑分盘怎么合并...
- 二阶矩阵转置怎么求_这个二阶矩阵的二范数怎么求
- 摘录3:没有趋势,没有背驰。
- 从零开始的iOS开发:10 | 如何构建一个APP
- 一体化3团队项目记录
- Python---统计《三国演义》中出现次数较高的人物
- 知道自己错哪了吗?-整体检查-PCB系列教程1-14
- 装了 Linux 之后就感到迷茫、不知该干什么的朋友看过来
- 拼多多收php吗_php调用拼多多的接口
- 原生JS和JQ实现div的展开与收齐动画
- 自己编写的bug管理系统