Java课后实验六

1)设计一个Person类,该类有name和age两个字段属性;

(2)为Person类编写构造方法(带两个参数,分别对应name和age字段);

(3)为Person类编写方法ShowInfo用于显示类中两个字段属性的信息;

(4)设计一个学生类Student,该类是Person类的派生类(子类),除了年龄和姓名两个属性之外还有学号属性id;

(5)为Student类的构造方法进行重载,对第三个属性进行初始化(继承父类的构造方法);

(6)在Student类中隐藏父类中的ShowInfo方法,用于显示name和age两个字段;

(7)在Student类中增加ShowId方法用于显示学号;

(8)在

Person类:
public class Person {
    String name;
    int age;
    public void ShowInfo(String name, int age){
        this.name=name;
        this.age=age;
        System.out.print("姓名:"+name+"\t"+"年龄:"+age+"\t");
    }
}
Student类:
public class Student extends Person{
    int id;
    public Student(int id,String name,int age){
        this.id=id;
        super.ShowInfo(name,age);
    }
    public void ShowId(){
        System.out.print("学号"+id);
    }
}
测试类:
public class test {
    public static void main(String[] args) {
        Student s=new Student(1223,"xxx",18);
        s.ShowId();
    }
}

 

(1)定义一个抽象类Shape,有一个抽象方法printArea();

(2)定义一个Triangle(三角形)类,继承Shape类;

(3)Triangle类中包括三个成员变量:两条边长,和这两条边的夹角;

(4)Triangle类中定义一个IsAreTriangle方法判断是否是正三角形;

(5)Triangle类中实现父类Shape类的printArea()(计算并输出三角形的面积)

(6)写一个测试类去测试以上程序。

抽象类Shape:
public abstract class  Shape {
    abstract void printArea();
}
Triangle类:
public class Triangle extends Shape {
    int a;
    int b;
    static double c;
    public void setA(int a) {
        this.a = a;
    }
    public void setB(int b) {
        this.b = b;
    }
    public void setC(double c) {
        this.c = c;
    }
    @Override
    void printArea() {
        IsAreTriangle();
        double v = (a * b * Math.sin(Math.toRadians(c))) / 2;
        System.out.println("三角型面积:" + v);
    }
    public void IsAreTriangle() {
        if (a == b && c == 60) {
            System.out.println("这是正三角形");
        }}}
测试类:
public class test {
    public static void main(String[] args) {
        Triangle t=new Triangle();
        t.setA(6);
        t.setB(6);
        t.setC(60);
        t.printArea();
    }
}

定义一个接口Area,其中包含一个计算面积的方法CalsulateArea(),然后设计MyCircle和MyRectangle两个类都实现这个接口中的方法CalsulateArea(),分别计算圆和矩形的面积,最后写出测试以上类和方法的程序TestArea.java。

接口Area:
public interface Area {
    void CalsulateArea();
}
MyCircle:
public class MyCircle implements Area {
    double r;
    @Override
    public void CalsulateArea() {
        double a = Math.PI * r * r;
        System.out.println("圆面积:" + a);
    }}
MyRectangle:
public class MyRectangle implements Area{
    int width ;
    int height ;
    @Override
    public void CalsulateArea() {
        System.out.println("矩形面积:"+width*height);
    }}
测试:
public class TestArea {
    public static void main(String[] args) {
        MyCircle mc=new MyCircle();
        mc.r=5;
        mc.CalsulateArea();
        MyRectangle mr=new MyRectangle();
        mr.width=5;
        mr.height=5;
        mr.CalsulateArea();
    }}

定义一个接口AreaInterface,其中包含一个计算面积的方法area()。

定义一个 Rectangle(长方形)类实现AreaInterface 接口,该类有两个private 访问权限的双精度浮点型变量 x(长)和 y(宽);定义一个 public 访问权限的构造方法,用来给变量赋值;实现 area()方法得到长方形的面积;定义 toString()方法,用来返回一段字符串信息,内容如下格式:“该长方形面积为:”+面积;

定义一个 TestArea 类,在 main()方法中创建一个 Rectangle 的实例,长为 10.0,宽为 20.0,并且输出它的面积;

AreaInterface接口:
public interface AreaInterface {
    double area();
}
Rectangle类:
public class Rectangle implements AreaInterface{
    private double x;
    private double y;
    public Rectangle(double x,double y){
        this.x=x;
        this.y=y; }
    @Override
    public double area() {
        return x*y;}
    public String toString(){
        return "该长方形面积为:"+area();
    }}
测试:
public class test {
    public static void main(String[] args) {
        Rectangle r=new Rectangle(3,4);
        System.out.println(r);
    }
}

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值