Java的类—多态实验

本实验基于前期刚接触java的人群来说是一个比较好的锻炼机会,此次实验的内容分为3个内容(三个题),前提是大家需要对java中的类具有些许的了解,以及具有一定的定义类的能力!大家可以参考下面网址里的内容:
https://www.cnblogs.com/tillnight1996/p/10889934.html
会让你对类的写法以及定义具有一定的了解!
接下来,我们介绍java的编程软件,本人用的系统是windows10系统,java编程软件是Myeclipse这需要注册,如果注册有问题,大家先实现可以用eclipse这不需要注册!!!
随后,我们开始进入今天的正题,那就是三道题的解答!!
在这里插入图片描述
其实在此之前我对这三道题题意的理解具有一定的奇异(第二题除外)
第一题:
理解目的:首先我们需要定义一个静态变量,计算人数,那么小朋友具有哪些特点?自然而然想到:他的年龄以及名字,于是开启一下定义和代码,代码如下:

package Test;
class Children{
	String name;
	int age;
	static int count;//定义小朋友初始人数为2;
	public Children(int age,String name){
	  this.age=age;
	  this.name=name;
	}//输入小朋友年龄和姓名表示要加入游戏
	public void jryx(){
		System.out.println("有1位小朋友加入啦!");//有小朋友加入
		count++;
	}
}
public class sy71 {
    public static void main(String[] args) {
		// TODO Auto-generated method stub
       Children.count=2;
       Children s1=new Children(5,"晴晴");
       Children s2=new Children(8,"欢欢");
       Children s3=new Children(6,"贝贝");
       s1.jryx();
       s2.jryx();
       s3.jryx();
       System.out.println("目前参加游戏的总人数为:"+Children.count);
	}

}

下面让我们开始简略地讲解代码:
首先我们现在头部定义出,需要我们定义的类Class!随后,我们开始定义Class内的变量,也就是年龄和name啦!同时,不要忘记定义方法,在这里我定义了2个方法,一个是Children,另一个是jryx,一个用于记录小朋友的年龄和名字,另一个用于记录人数!
哈哈哈哈哈哈哈!
接下来就是实验结果啦!
代码显示有三位小朋友加入:
在这里插入图片描述
最终结果为:
在这里插入图片描述
好啦!我们第一个实验讲完啦!后面几个实验就简略地带过啦!
第二题:
是一道实现温度转换的题,我在此道题的基础上,加大了他的难度,既要实现摄氏度转化为华氏度,又要实现华氏度转化为摄氏度。
实验代码在下方⬇️:

package Test;
import java.util.Scanner;
class wenduzhuanhua{
	double ssd;
	double hsd;
	public void getFahrenheit(double ssd){
		this.ssd=ssd;
		hsd=1.8*ssd+32;
	}
	public void getCentigrade(double hsd){
		this.hsd=hsd;
		ssd=(double)(hsd-32)/1.8;
	}
}
public class sy72 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        Scanner scanner=new Scanner(System.in);
		double sheshidu;
		double huashidu;
        int i;
        wenduzhuanhua wdzh=new wenduzhuanhua();
        System.out.println("请输入i(0为摄氏度转华氏度,1为华氏度转摄氏度):");
        i=scanner.nextInt();
        if(i==0){
           System.out.println("请输入摄氏度:");
           sheshidu=scanner.nextDouble();
          
           wdzh.getFahrenheit(sheshidu);
           System.out.println(sheshidu+"摄氏度转华氏度的结果为:"+wdzh.hsd+"华氏度");
        }else{
           System.out.println("请输入华氏度:");
           huashidu=scanner.nextDouble();
           wdzh.getCentigrade(huashidu);
           System.out.println(huashidu+"华氏度转摄氏度的结果为:"+wdzh.ssd+"摄氏度");
        }
    }
}

在此段代码中需要实现选择模式:0为将摄氏度转化为华氏度,1为将华氏度转化为摄氏度。代码中也定义了两个不同的方法!
实验结果如下:
在这里插入图片描述


这样实验二也完成啦!
接下来开始第三个实验!
第三题:
第三题是一道比较繁琐的题!对于不少人来说,题目比较难以理解,他的要求一定要看清!
在这里我建了两个java文件,一个用于建立Class,另一个用于调用,在这里需要用get()和set(),这里有一个笨方法和一个快捷的方法来建立get()和set()函数,你们可以自己选哦!
sy74用于建立Class;sy741用于调用
下面先插入代码:
sy74中的代码:

package Test;
class Wallet{
	String xyk;
	int sfk; 
	int yhk;
	int xj;
	public int getSfk() {
		return sfk;
	}
    public void setSfk(int sfk) {
		this.sfk = sfk;
	}
    private String getXyk() {
		return xyk;
	}
    private void setXyk(String xyk) {
		this.xyk = xyk;
	}
    private int getYhk() {
		return yhk;
	}
    private void setYhk(int yhk) {
		this.yhk = yhk;
	}
    private int getXj() {
		return xj;
	}
    private void setXj(int xj) {
		this.xj = xj;
	}
    public Wallet(String xyk,int sfk,int yhk,int xj){
         this.xyk=xyk;
         this.sfk=sfk;
         this.yhk=yhk;
         this.xj=xj;
    }
    public void cx(String xyk){
    	System.out.println("校园卡为"+this.xyk);
    	System.out.println("身份证为"+this.sfk);
    	System.out.println("银行卡为"+this.yhk);
    	System.out.println("现金为"+this.xj);
    }
}

sy741代码如下:

package Test;
public class sy741 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
       Wallet wallet1=new Wallet("hh1",123,124,1000);
       Wallet wallet2=new Wallet("hjw",19,34,10000);
       Wallet wallet3=new Wallet("lch",20,35,10);
       wallet2.cx("hjw");
	}

}

下面先介绍笨方法,所谓笨方法就是老老实实敲代码!聪明人自然会选择快捷的方法:
我们选中自己定义的变量如图:
在这里插入图片描述
之后我们鼠标右键,往中间看,看到Sourse了吗?将鼠标移到上面(也可以使用快捷键Alt+shift+S)随后我们选择Generate Getters and Setters点击后他就会自动生成get()和set()!
这样实验三就完成了!
我完成的是通过查询校园卡,来抄找他的其他信息(题目中所说的访问私有变量)
实验结果如下:
我们定义了以下数据:
在sy741代码中可以找到哦!
在这里插入图片描述
在这里插入图片描述我们抄找hjw(有特殊意义)的数据!!!
在这里插入图片描述
好啦!今天就讲到这啦!每天进步一丢丢,日后必定会加倍奉还,所以大家加油💪!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L C H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值