Java开发练习2,类与对象
2017-10-14 20:08
369 查看
1.请定义一个交通工具(Vehicle)的类,其中有:
属性:速度(speed),体积(size)等
方法:移动(move()),设置速度(setSpeed(intspeed)),设置体积(setSize(int size))加速speedUp(),减速speedDown()等
在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变。
2.打印当前时间。学习使用Date类和Calendar类
3.以Point类为基础,定义一个平面中的Circle类:
1、 编写一个无参的构造函数;
2、 编写一个有参的构造函数;
3、 在主函数中调用无参的构造函数生成圆的实例c1,调用有参的构造函数生成圆的实例c2,调用实例方法判断c1和c2是否相重叠。
4.编写代码模拟手机与SIM卡的组合关系。
要求:
SIM卡类负责创建SIM卡;
Phone类负责创建手机;
手机可以组合一个SIM卡;
手机可以更换其中的SIM卡。
5.用类描述CPU硬盘
属性:速度(speed),体积(size)等
方法:移动(move()),设置速度(setSpeed(intspeed)),设置体积(setSize(int size))加速speedUp(),减速speedDown()等
在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变。
public class Vehicle { int speed; int size; public Vehicle(int speed, int size) { // TODO Auto-generated constructor stub this.speed = speed; this.size = size; } public int getSpeed() { return speed; } public void setSpeed(int speed) { this.speed = speed; } public int getSize() { return size; } public void setSize(int size) { this.size = size; } void move(){ } int speedUp(){ return speed+10; } int speedDown(){ return speed-5; } }
public class VehicleTest { public static void main(String[] args) { // TODO Auto-generated method stub Vehicle v = new Vehicle(10,5); System.out.println("速度:"+v.getSpeed()); System.out.println("体积:"+v.getSize()); System.out.println("加速:"+v.speedUp()); System.out.println("减速:"+v.speedDown()); } }
2.打印当前时间。学习使用Date类和Calendar类
import java.util.Calendar; import java.util.Date; public class Time { public static void main(String[] args) { // TODO Auto-generated method stub Date time=new Date(); System.out.println(time);//获取时间 Calendar cal =Calendar.getInstance(); cal.setTime(new Date()); int year=cal.get(Calendar.YEAR); int month=cal.get(Calendar.MONTH)+1; //一月对应0; int day=cal.get(Calendar.DAY_OF_MONTH); System.out.print(" "+year+"年"+" "+month+"月"+day+"日"); } }
3.以Point类为基础,定义一个平面中的Circle类:
1、 编写一个无参的构造函数;
2、 编写一个有参的构造函数;
3、 在主函数中调用无参的构造函数生成圆的实例c1,调用有参的构造函数生成圆的实例c2,调用实例方法判断c1和c2是否相重叠。
import java.util.*; public class Circle { int x; int y; double r; Circle(){ //无参构造方法 x=1; y=1; r=1.0; } Circle(int a,int b,int R){//有参构造方法 x=a; y=a; r=R; } void Chongdie(Circle c) { //判定重叠 if(x==c.x&&y==c.y&&r==c.r) System.out.println("c1和c2重叠"); else System.out.println("c1和c2不重叠"); } } import java.util.Scanner; class CircleTest { public static void main(String[] args) { Scanner input=new Scanner(System.in); int a=input.nextInt(); int b=input.nextInt(); int R=input.nextInt(); Circle c1=new Circle(); Circle c2=new Circle(a,b,R); c1.Chongdie(c2); } }
4.编写代码模拟手机与SIM卡的组合关系。
要求:
SIM卡类负责创建SIM卡;
Phone类负责创建手机;
手机可以组合一个SIM卡;
手机可以更换其中的SIM卡。
public class Phone { SIM sim=new SIM(); public SIM getSim() { return sim; } public void setSim(SIM sim) { this.sim = sim; } public void show(){ System.out.println(sim.getNumber()); } } public class SIM { int number; public long getNumber() { return number; } public void setNumber(int number) { this.number = number; } } public class zuhe { public static void main(String[] args) { // TODO Auto-generated method stub SIM sim=new SIM(); sim.setNumber(123456789); Phone phone=new Phone(); phone.setSim(sim); phone.show(); System.out.println("换号"); SIM simnew=new SIM(); simnew.setNumber(987654321); phone.setSim(simnew); phone.show(); } }
5.用类描述CPU硬盘
public class CPU { int speed; public int getSpeed() { return speed; } public void setSpeed(int speed) { this.speed = speed; } }
public class HardDisk { int amount; public int getAmount() { return amount; } public void setAmount(int amount) { this.amount = amount; } }
public class PC { CPU cpu; HardDisk HD; public CPU getCpu() { return cpu; } public void setCpu(CPU cpu) { this.cpu = cpu; } public HardDisk getHD() { return HD; } public void setHD(HardDisk hD) { this.HD = hD; } void Show() { System.out.println("CPU频率"+cpu.getSpeed()); System.out.println("硬盘容量"+HD.getAmount()); } }
packa 946d ge org.gerrysu.Test5; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub CPU cpu = new CPU(); cpu.setSpeed(2200); HardDisk disk = new HardDisk(); disk.setAmount(200); PC pc = new PC(); pc.setCpu(cpu); pc.setHD(disk); pc.Show(); } }
相关文章推荐
- 实习二 对象中间件--CORBA开发练习 java实现
- Java基本功练习十二(对象和类[定义、实例化、对象数组、类应用开发])
- 面向Java开发人员的Ajax:Ajax的Java对象序列化
- 深入探索CORBA对象生命周期之慨述-Java基础-Java-编程开发
- Java中使用JCOM操作Office对象-Java基础-Java-编程开发
- CORBA对象生命周期之早期和后期绑定-Java基础-Java-编程开发
- 面向 Java 开发人员的 Ajax: Ajax 的 Java 对象序列化
- 理解Java面向对象的程序设计思想-Java基础-Java-编程开发
- Java面向对象和数据库的脚本开发项目的不同
- 面向Java开发人员的Ajax:Java对象序列化
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习4
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习5
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习6
- CORBA对象生命周期之生命周期的评估-Java基础-Java-编程开发
- Java数据对象(JDO)的前世今生-Java基础-Java-编程开发
- 面向 Java 开发人员的 Ajax: Ajax 的 Java 对象序列化
- 面向 Java 开发人员的 Ajax: Ajax 的 Java 对象序列
- 面向 Java 开发人员的 Ajax: Ajax 的 Java 对象序列
- 打破Java定律:无需创建对象--Ioc容器革命-Java基础-Java-编程开发
- 面向 Java 开发人员的 Ajax: Ajax 的 Java 对象序列化---在 Ajax 应用程序中序列化数据的五种途径