java第一次课(难点:如何在一个包的两个类里传递参数)

第一次写java程序

首先要完成的作业是:

本次作业:

  1. 描述一辆汽车,并输出它所有的信息;
  2. 对其中的某一项信息进行更改。
  3. 描述一辆卡车类,并将汽车和卡车共有的特征值传递给卡车。
  4. 在汽车类中调用卡车类的输出方法

然后我定义了一个汽车(car)类,在里面定义了他的一些信息,这里的信息我都是private的

private String monicker;//汽车名字
	private int size;//汽车大小
	private String color;//汽车颜色
	private int wheel;//汽车轮子数
	private String window;//有无天窗

然后输出信息,这里是一个void的方法

public void Print()
	{
		System.out.println("这个汽车的名字是:"+monicker);
		System.out.println("这个汽车的大小是:"+size);
		System.out.println("这个汽车的颜色是:"+color);
		System.out.println("这个汽车的轮子个数是:"+wheel);
		System.out.println("这个汽车有无天窗:"+window);
	}

这里说明一下:Java严格区分大小写,这里要注意!String的也和c++不一样,c++是string,s是小写,但是Java的s需要大写!然后java的输出是System.out.println,system的s一定要大写,然后不像c++直接cout就可以了,这是java的格式输出。然后println指的是输出并换行。这里的+相当于连接,这里就和c++的string的连接是类似的。

这里自己犯了一个bug,妄想用println的("这个汽车的名字是:"+monicker,"这个汽车的大小是:"+size)这样把输出搞在一行里,发现会报错。回去需要看一下java基本语法。。。

这里!声明汽车名字的时候,发现name居然是java的关键词!

然后进行下一步:对其中的信息进行修改

public void change(String mon)
	{
		System.out.println("什么这个名字太骚?");
		this.monicker =mon;
		System.out.println("那就依你我的小可爱:"+"改变后的名字是:"+monicker);
	}

然后接下来就是重头戏了,那就是两个类的相互传参!

这里放上car类的主函数和jeep的,然后这样说会更清楚一点:

public class car {

	public static void main(String[] argv) {
		// TODO Auto-generated method stub
		car car1 = new car ("正红花油",100,"骚紫色",5,"有");
		car1.Print();
		car1.change("大红花");
		jeep jc = new jeep(car1.Getname(),200,car1.Getcolor(),car1.Getwheel(),"91#");
		jc.print();
	}
public jeep(String monic,int money,String color,int wheel,String gas)
	{
		this.monicker = monic;
		this.money = money;
		this.color = color;
		this.wheel = wheel;
		this.gas = gas;
	}

哦对,这里说明一下this,这里的this和c++里的this貌似不太一样,这里的this是指的是当前类下的变量。

然后来解释一下什么是两个类之间的相互传值:

首先你需要由car类自己定义的对象car1来访问得到汽车的名字、汽车颜色还有汽车的轮胎数这些卡车和汽车共有的信息。因为汽车的那些基本信息都是私有的,所以需要通过Get方法得到信息。这里的Get方法下图会有具体解释。然后jeep类定义的对象jc,jc来初始化,这里初始化信息则利用了car的信息。简单明了的说一下,就是car1.Getname()里得到的值传递给jeep的构造函数中的String  monic,monic作为形参存储传递过来的值,然后把它赋给jeep中的变量monicker来完成从car到jeep的值的传递。说白了就是利用构造函数来传值储存。就相当于c++里的函数调用一样,函数调用也要传值,只不过c++里的函数调用可能是在一个cpp文件下进行的,Java则在两个类里进行,听起来很难,但是可以这么理解。

下面放car中得到私有变量值的Get方法:

public String Getname()
	{
		return monicker;
	}
	public String Getcolor()
	{
		return color;
	}
	public int Getwheel()
	{
		return wheel;
	}

文章到这里就结束了,这也是我的一些新得体会,可能有些地方是错的,还望看见的大佬指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值