第一次写java程序
首先要完成的作业是:
本次作业:
- 描述一辆汽车,并输出它所有的信息;
- 对其中的某一项信息进行更改。
- 描述一辆卡车类,并将汽车和卡车共有的特征值传递给卡车。
- 在汽车类中调用卡车类的输出方法
然后我定义了一个汽车(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;
}
文章到这里就结束了,这也是我的一些新得体会,可能有些地方是错的,还望看见的大佬指出。