Java11月18日

动手动脑

实验一:

1. 下边的程序运行结果是什么?

2.你如何解释会得到这样的输出?

3.计算机是不会出错的,之所以得到这样的运行结果也是有原因的那么从这些运行结果中,你能总结出Java的哪些语法特性?

程序源代码:

public class ParentChildTest {

public static void main(String[] args) {

Parent parent=new Parent();

parent.printValue();

Child child=new Child();

child.printValue();

parent=child;

parent.printValue();

parent.myValue++;

parent.printValue();

((Child)parent).myValue++;

parent.printValue();

}

}

class Parent{

public int myValue=100;

public void printValue() {

System.out.println("Parent.printValue(),myValue="+myValue);

}

}

class Child extends Parent{

public int myValue=200;

public void printValue() {

System.out.println("Child.printValue(),myValue="+myValue);

}

}

(1)实验结果运行图:

(2)这样结果输出的原因:

答:首先前两个分别引用各自的类的变量,所以分别是100和200没有什么异议,第三个把子类的赋值给父类了,所以输出结果为200,第四个因为只是改变了弗雷德变量值,没有改变子类的变量值,所以仍为200,而此时父类的为101。最后对子类进行强制转换,所以变量值也发生了改变为201.

(3)当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的“真实”类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法。

这个特性实际上就是面向对象“多态”特性的具体表现。

实验二:多态方法模拟ATM程序

//ATM

//zhanxinwu,November ,15,2016.

import java.util.Scanner;

abstract class QuKuan

{

abstract int qukuan();

}

class Account extends QuKuan

{

String ID;

String name;

String Date;

int operate;

String mima;

double yue;

Account()

{

ID="1234567891a";

mima="123456";

yue=0;

}

int qukuan()

{

int flag=0;

double qu=0;

System.out.println("欢迎选择取款:");

System.out.println("1 100");

System.out.println("2 500");

System.out.println("3 1000");

System.out.println("4 1500");

System.out.println("5 2000");

System.out.println("6 5000");

System.out.println("7 其他金额");

System.out.println("8 退卡");

System.out.println("9 返回上一界面");

System.out.print("请选取要取款的金额‘操作数‘:");

Scanner scanner=new Scanner(System.in);

operate=scanner.nextInt();

while(operate<1||operate>9)

{

System.out.print("请重新选取要取款的金额‘操作数’:");

operate=scanner.nextInt();

}

switch(operate){

case 1:qu=100;

case 2:qu=500;

case 3:qu=1000;

case 4:qu=1500;

case 5:qu=2000;

case 6:qu=5000;

case 7:{System.out.print("请输入要取款的金额:");

qu=scanner.nextDouble();

if(yue<qu)

{

System.out.println("余额不足!");

}

else

{

yue-=qu;

System.out.println("取款成功,余额为:"+yue);

}

}

}

return flag;

}

void xiugaimima()

{

System.out.print("请输入要修改的取款账号所对应的密码:");

Scanner scanner=new Scanner(System.in);

String mi=scanner.next();

mima=mi;

System.out.println("修改后的取款账号所对应的密码为:"+mima);

}

void cunkuan()

{

System.out.print("请输入要存款的金额:");

Scanner scanner=new Scanner(System.in);

double yu=scanner.nextDouble();

yue+=yu;

System.out.println("存款成功,余额为:"+yue);

}

void chaxun()

{

System.out.println("余额为:"+yue);

}

void zhuanzhang()

{

System.out.print("请输入转入的行号:");

Scanner scanner=new Scanner(System.in);

String hang=scanner.next();

System.out.print("请输入要转账的金额:");

double yu=scanner.nextDouble();

if(yue<yu)

{

System.out.println("余额不足,请充值!!!");

}

else

{

yue-=yu;

System.out.println("转账成功,余额为:"+yue+",已转入到"+hang+"中"+yu+"元");

}

}

}

public class ATMduo

{

public static void main(String[] args)

{

int k;

Scanner scanner=new Scanner(System.in);

Account m=new Account();

while(true)

{

System.out.print("请输入密码:");

String n=scanner.next();

if(n.equals(m.mima))

{

while(true)

{

System.out.println("1 存款");

System.out.println("2 取款");

System.out.println("3 转账汇款");

System.out.println("4 修改密码");

System.out.println("5 查询余额");

System.out.println("6 退出系统");

System.out.print("请输入操作项:");

k=scanner.nextInt();

if(k==1) m.cunkuan();

if(k==2)

{

int g=m.qukuan();

if(g==1) break;

}

if(k==3) m.zhuanzhang();

if(k==4) m.xiugaimima();

if(k==5) m.chaxun();

if(k==6) break;

}

}

else System.out.println("该卡已被锁定,请联系银行工作人员!!!");

}

}

}

时间: 2024-08-06 08:12:57

Java11月18日的相关文章

10月18日随笔

1 #include<iostream> 2 #include<algorithm> 3 #include<cmath> 4 #include<cstring> 5 #include<cstdio> 6 #include<queue> 7 using namespace std; 8 typedef long long LL; 9 inline int read() 10 { 11 int x=0,f=1;char c=getchar

软考信息系统监理师 2016年3月18日作业

软考信息系统监理师,2016年3月18日作业: 第四章 监理单位的组织建设 1.监理单位的体系建设分为哪3部分? 答:分为业务体系建设.质保体系建设.管理体系建设 2.监理单位监理服务质量管理的方式有2种,哪2种?优缺点是什么? 答:一种是以单位管理为主,一种是以监理项目部自我管理为主. 以单位管理为主的质量管理模式的优点是可以保证单位各个监理项目部按照统一 的要求进行监理,易于控制;缺点是限制了总监理工程师质量控制的积极性,管 理费用大.以监理项目部为主的质量管理模式的优点与缺点正好相反. 3

2015年8月18日,杨学明老师《技术部门的绩效管理提升(研讨会)》在中国科学院下属机构CNNIC成功举办!

2015年8月18日,杨学明老师为中国网络新闻办公室直属央企中国互联网络中心(CNNIC)提供了一天的<技术部门的绩效管理提升(研讨会)>培训课程.杨学明老师分别从研发绩效管理概述.研发绩效的考核与评价管理.标杆企业研发绩效管理及结果的应用.激励和奖金分配等方面进行了讲解和研讨.培训过程中,杨学明老师以阿里巴巴.腾讯.华为等企业的互联网产品规划的真实案例为主线,充分发挥学员在学习过程中的智慧,进行了深入的研讨和演练.并给大家分享了来自华为.腾讯.阿里巴巴的一些绩效和激励案例,大家认为受益匪浅.

冲刺阶段(二)第五天 5月18日

昨天:利用前几天学习的知识实现铁大助手中图片切换的功能. 今天:团队测试 困难:不能在所有Android版本模式下运行本软件,有的不能兼容. 冲刺阶段(二)第五天 5月18日,布布扣,bubuko.com

软考信息系统监理师,2016年3月18日作业

软考信息系统监理师,2016年3月18日作业: 第四章 监理单位的组织建设1.监理单位的体系建设分为哪3部分?2.监理单位监理服务质量管理的方式有2种,哪2种?优缺点是什么?3.监理服务质量的控制方式,按照时间可以分为哪3种?按照控制主体分为什么?按照评价方式分为什么?4.监理服务质量控制的内容包括哪些?5.监理单位遵照什么步骤建立和完善质量保证体系?6.监理单位的权利中,应按照""的原则,开展监理工作?7.监理单位的行为准则是什么?8.在行为准则中,什么是公正,什么是独立,什么是科学

谷歌CEO 宣布Google I/O 2016大会将于2016年5月18日Mountain View举办

谷歌CEO Sundar Pichai今日在他的官方Twitter上宣布,Google I/O 2016大会将于2016年5月18日在加州Mountain View拉开帷幕. 这是谷歌一年一度最大的开发者大会.在刚刚过去的2015年,Google I/O大会被评为2015年最受欢迎的开发者大会,位列苹果,微软等各大开发公司大会之首. 你可以通过以下链接订阅Google I/O 2016的新闻已经该大会官方内容. 此外,如果你想体验以下2015年的Google I/O大会,可以观看如下Google

[NOIP集训]10月18日

今天的文件夹:10月18日.zip 今天脑子转不起来,想不出来动规了. Orz @张翰文学神 T1:快排,然后求连续数字的长度,简单判断即可. T2~T4:容我再想两天... T2原题: 题2. 养zsc(pig.pas/c/cpp) [题目描述] 你有一个zsc圈,有N头zsc,每天你最多可以杀一头zsc卖钱,获益就是zsc的体重.但是每过一天每头zsc的体重都会下降P[i](当然,如果zsc体重<=0了,自然获利就是0),问K天内你的最大获利. [输人文件] 第一行两个数N.K: 第二行N个

8月18日全球域名商(国际域名)解析新增保有量TOP20

IDC评述网(idcps.com)08月24日报道:根据DailyChanges公布的最新数据显示,在2015年8月18日,全球域名解析新增保有量二十强大战中,DOMAINCONTROL.COM蝉联冠军,新增保有量6,247个,相比上期有所缩小.另外,本期入围二十强的中国域名商增至4家,分别是中国万网.DNSPod.爱名网.易名中国.下面,请看IDC评述网对相关数据进行详细分析. (图1)全球域名解析商(国际域名)新增保有量TOP20分布图 根据图1,可知在8月18日全球域名解析市场上,DOMA

中国互联:TOP域名11月18日开售

互联网已经成为全球经济命脉 互联网发展30年中,全球人口数目从1985年的48亿增长至2014年71.3亿.据悉,2025年全球人口将突破80亿大关.人口的急速增长的同时将消费市场带向繁荣.在2014年达沃斯论坛中,中华人民共和国国家互联网信息办公室主任指出:"目前中国互联网网站近400万家.中国互联网经济增长速度有两位数,而且是以30%的速度递增." 域名是互联网的敲门砖 在域名发展的历史时间中,可以简单分成:规则--规则+资源两个时段."资源"之声一直是占据着主