Java开发练习2,类与对象

本文通过具体实例介绍了Java编程中的类定义及使用方法,包括交通工具的速度和体积管理、时间的显示、圆形类的设计、手机与SIM卡的关系模拟以及计算机组件如CPU和硬盘的描述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

属性:速度(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());
	}
		
}
package 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();

	}

}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值