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);
}
– }