Java基础程序(2)

今天是两个实验任务:

1、

实验要求:编写程序定义圆类Circle,把圆的性质和行为用代码块封装起来。圆的性质包括圆的半径和圆心坐标,行为包括计算圆面积,计算圆周长,设置半径,获取半径。实例化若干个圆对象,调用相应方法计算出圆面积与周长。

知识点:

(1)类的定义,抽象出类属性,方法封装类;

(2)类体定义,了解方法构造的意义和作用,方法重载,成员变量和其方法的声明和定义;

(3)对象实例化,各种方法的定义和调用;

(4)final关键字声明符号常量;

代码如下:

public class Circle {
	private double radius;
	private double x,y;
	private static int num;
	private static final double PI=3.14159;
	public Circle() 
	{
		num++;
	}
	public Circle(double r) throws Exception
	{
		if(r<0)
		{
			throw new Exception("圆半径不能为负数");
		}
		else
		{
			radius=r;
			num++;
		}
	}
	public double getRadius()
	{
		return radius;
	}
	public void setRadius(double r) throws Exception
	{
		if(r<0)
		{
			throw new Exception("圆半径不能为负数");
		}
		else
		{
			radius=r;
		}
	}
	
	public static int getNum()
	{
		return num;	
	}
	public double calcArea()
	{
		return PI*radius*radius;
	}
	public double calcGirth()
	{
		return 2*PI*radius;
	}
	
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		Circle c1=new Circle(3.5);
		System.out.println("圆1半径"+c1.getRadius()+",圆1面积"+c1.calcArea()+",圆1周长"+c1.calcGirth());
		System.out.println("目前圆对象个数为"+c1.getNum());
		Circle c2=new Circle(10);
		System.out.println("圆2半径"+c2.getRadius()+",圆2面积"+c2.calcArea()+",圆2周长"+c2.calcGirth());
		System.out.println("目前圆对象个数为"+c2.getNum());
		Circle c3=new Circle();
		System.out.println("圆3半径"+c3.getRadius()+",圆3面积"+c3.calcArea()+",圆3周长"+c3.calcGirth());
		System.out.println("目前圆对象个数为"+c3.getNum());

	}

}

运行结果可以看到:



2

变成实现类的继承。编写父类People,子类Student继承自People。人类具有姓名,性别,年龄等属性,还具有吃和说的行为。学生类继承父亲类,除继承父类特征外还拥有学号属性和学习行为。构造人类和学生类的对象,调出方法输出信息。

package ext;

public class People {
	private String name;
	private int age;
	public People()
	{
		
	}
	public People(String name, int age)
	{
		this.name=name;
		this.age=age;
	}
	public String getName()
	{
		return name;
	}
	public void setName(String name)
	{
		this.name=name;
	}
	public int getAge()
	{
		return age;
	}
	public void setAge(int age)
	{
		this.age=age;
	}
	public void eat()
	{
		System.out.println(name+"在吃饭");
	}
	public void speak()
	{
		System.out.println(name+"在说话");
	}
}



package ext;

class Student extends People {
	private String stuNo;
	public Student()
	{
		
	}
	public Student(String stuNo, String name, int age)
	{
		super(name,age);
		this.stuNo=stuNo;
	}
	public String getStuNo()
	{
		return stuNo;
	}
	public void setStuNo(String stuNo)
	{
		this.stuNo=stuNo;
	}
	public void learn()
	{
		System.out.println(super.getName()+"在学习");
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		People p=new People("王浩宇",30);
		p.eat();
		p.speak();
		System.out.println();
		Student stu=new Student("001","秦岭",20);
		stu.eat();
		stu.speak();
		stu.learn();
	}

}

结果我们可以看到:


后期会对各个代码进行完善,哈哈,先发布。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值