上机练习2 类与对象

Part 1 类的定义

课堂练习1

请定义一个交通工具(Vehicle)的类,其中有:

Ø 属性:速度(speed),体积(size)等

Ø 方法:移动(move()),设置速度(setSpeed(int speed)),设置体积(setSize(int size))加速speedUp(),减速speedDown()等

在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变。

实现代码:

public class Vehicle {
	int speed;
	int size;
	Vehicle(){
		speed=0;
		size=0;
	}
	 public void setSpeed(int speed){
		this.speed=speed;
	}
	public void setSize(int size){
		this.size=size;
	}
	public void move(){
		System.out.println("体积为"+size+",以速度是"+speed+"km/h开始行驶");
	}
	public void speedUp(){
		speed=speed+5;
		System.out.println("加速后以"+speed+"km/h开始行驶");
	}
	public void speedDown(){
		speed=speed-5;
		System.out.println("减速后以"+speed+"km/h开始行驶");
	}
	

}

public class TestVehicle {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Vehicle ven=new Vehicle();
		ven.setSpeed(60);
		ven.setSize(6);
		ven.move();
		ven.speedUp();
		ven.speedDown();
		

	}

运行结果:


课堂练习2

打印当前时间。学习使用Date类和Calendar类。(教材P194页)


实现代码:

public class PrintTime {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	    Calendar ca =Calendar.getInstance();//创建一个日历对象
	    Date date=new Date();
	    ca.setTime(date);
	    //获取当前的年月日
	     int year=ca.get(Calendar.YEAR),
	      month=ca.get(Calendar.MONTH)+1,
	      day=ca.get(Calendar.DAY_OF_MONTH);
	     //获取当前的时分秒
	     int hour=ca.get(Calendar.HOUR_OF_DAY),
	         minute=ca.get(Calendar.MINUTE),
	         second=ca.get(Calendar.SECOND);
	     System.out.println("当前的时间是:"+year+"年"+" "+month+"月"+day+"日"
	         +hour+"时"+" "+minute+"分"+" "+second+"秒"+" ");
	}

运行结果:



Part 2 构造函数

课堂练习3

Point基础,定义一个平面中的Circle类

1、 编写一个无参的构造函数

2、 编写一个有参的构造函数

3、 在主函数中调用无参的构造函数生成圆的实例c1,调用有参的构造函数生成圆的实例c2,调用实例方法判断c1c2是否相重叠。


实现代码:

public class Point {
	int x;
	int y;
	Point(){
		x=0;
		y=0;
		
	}
}
public class Circle {
	Point a=new Point();
	int r;
	Circle(){
	a.x=1;
	a.y=0;
	r=1;
	System.out.println("C1的横坐标是:"+a.x+",C1的纵坐标是:"+a.y+"半径是:"+r); 
	} 
	
	Circle(int x1,int x2,int r1){
		a.x=x1;
		a.y=x2;
		this.r=r1;
		System.out.println("C2的横坐标是:"+a.x+",C1的纵坐标是:"+a.y+"半径是:"+r); 

	}
	public void compare(Circle b){ 
		if(a.x==b.a.x&&a.y==b.a.y&&r==b.r)
			System.out.println("这两个圆重叠。");
			else
			System.out.println("这两个圆不重叠。");
			}
	}


public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		 Circle c1=new Circle();
		    Circle c2=new Circle(2,0,1);
		    c1.compare(c2);
	}

}


运行结果:




已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页