类与对象

Part 1 类的定义

课堂练习1:

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

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

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

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

public class Vehicle {
	int speed;
	int size;
	void move(int distance){
		System.out.println("移动的距离为:"+distance);	
	}
void setSpeed(int ss){
	speed=ss;
	System.out.println("速度为:"+speed);
}
void setSize(int zz){
	size=zz;
	System.out.println("体积为:"+size);
}
void speedUp(int s1){
	speed=s1;
	System.out.println("加速后的速度为:"+speed);
}
void speedDown(int s2){
	speed=s2;
	System.out.println("减速后的速度为:"+speed);
}
}


public class VehicleTest {

	public static void main(String[] args) {
		Vehicle v1=new Vehicle();
		v1.setSpeed(30);// TODO Auto-generated method stub
		v1.setSize(60);
		v1.speedUp(50);
		v1.speedDown(10);
		v1.move(80);
	}

}


课堂练习2:

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

import java.util.*;
public class Time {

	public static void main(String[] args) {
		Date nowTime=new Date();// TODO Auto-generated method stub
        System.out.println("本机的当前时间:"+nowTime);
        Calendar calendar=Calendar.getInstance();
        calendar.setTime(new Date());
        int year= calendar.get(Calendar.YEAR);
        int	month=calendar.get(Calendar.MONTH);
        int	day=calendar.get(Calendar.DAY_OF_MONTH);
        int	hour=calendar.get(Calendar.HOUR_OF_DAY);
        int	minute=calendar.get(Calendar.MINUTE);
        int	second=calendar.get(Calendar.SECOND);
        System.out.print("现在的时间:");
        System.out.print(""+year+"年"+month+"月"+day+"日");
        System.out.print(""+hour+"时"+minute+"分"+second+"秒");
	}

}

Part 2 构造函数

课堂练习3:

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

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

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

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

public class Circle {
double x,y,r;
Circle(){
	x=1.0;
	y=2.0;
	r=1.0;
}
Circle(double x1,double y1,double r1){
	x=x1;
	y=y1;
	r=r1;
}
void overLap(Circle c) {
	//double s,d;
	//s=r+c.r;
	//d=Math.sqrt((c.x-x)*(c.x-x)+(c.y-y)*(c.y-y));
	if(c.x==x&&c.y==y&&c.r==r) 
		System.out.println("圆c1与c2重叠");
	else
		System.out.println("圆c1与c2不重叠");
	
} 
}

public class CircleTest {

	public static void main(String[] args) {
		Circle c1=new Circle();// TODO Auto-generated method stub
		Circle c2=new Circle(2.0,1.0,2.0);
		c1.overLap(c2);
	}

}

Part 3 对象的组合

课堂练习4:

编写代码模拟手机与SIM卡的组合关系。

要求:

           SIM卡类负责创建SIM卡;

           Phone类负责创建手机;

          手机可以组合一个SIM卡;

          手机可以更换其中的SIM卡。

public class SIM {
void motive() {
	System.out.println("该手机卡已被激活");
}
void change() {
	System.out.println("该手机卡已被停用");
}
}
public class Phone {
	void combine(SIM s1) {
		s1.motive();
	}
	void instead(SIM s2) {
		s2.change();
	}
}
public class Test {

	public static void main(String[] args) {
		Phone p=new Phone();// TODO Auto-generated method stub
        SIM s=new SIM();
		p.combine(s);
		p.instead(s);
	}

}

课堂练习5:

public class PC {
CPU cpu;
HardDisk HD;
void setCPU(CPU c) {
	cpu=c;
}
void setHardDisk(HardDisk h) {
	HD=h;
}
void show() {
	System.out.println("CPU的速度:"+cpu.getSpeed());
	System.out.println("硬盘的容量:"+HD.getAmount());
}
}
public class CPU {
int speed;
void setSpeed(int m) {
	speed=m;
}
int getSpeed() {
	return speed;
}
}
public class HardDisk {
	int amount;
	void setAmount(int m) {
		amount=m;
	}
	int getAmount() {
		return amount;
	}
}
public class Test {

	public static void main(String[] args) {
		CPU cpu=new CPU();// TODO Auto-generated method stub
		cpu.setSpeed(2200);
		HardDisk disk=new HardDisk();
		disk.setAmount(200);
        PC pc=new PC();
        pc.setCPU(cpu);
        pc.setHardDisk(disk);
        pc.show();
	}

}



Part 4 Package与Import

课堂练习6:

–      定义一个圆类(Circle),其所在的包为bzu.info.software;定义一个圆柱类Cylinder,其所在的包为bzu.info.com;定义一个主类A,其所在的包也为bzu.info.com,在A中生成一个Cylinder对象,并输出其体积。编译并运行该类。

–	package bzu.info.software;
–	
–	public class Circle {
–	double radius;
–	public Circle(){
–		radius=2.0;
–	}
–	public double getArea() {
–		return 3.14*radius*radius;
–	}
–	}
package bzu.info.com;

import bzu.info.software.Circle;

public class Cylinder {
int h;
Cylinder(){
	h=4;
}
double volume(Circle c) {
	double area=c.getArea();
	double v;
	v=area*h;
    return v;
}
–	}
package bzu.info.com;
import bzu.info.software.Circle;
public class A {

	public static void main(String[] args) {
		Cylinder c=new Cylinder();// TODO Auto-generated method stub
       Circle cc=new Circle(); 
		double V=c.volume(cc);
        System.out.println("圆柱的体积为:"+V);
	}
–	}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值