第五次实训作业继承

1.实现如下类之间的继承关系,并编写Music类来测试这些类。

2、编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类E。要求:

(1) Monkey类中有个构造方法:Monkey (String s),并且有个public void speak()方法,在speak方法中输出“咿咿呀呀......”的信息。

(2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法中输出“小样的,不错嘛!会说话了!”的信息。

(3)在People类中新增方法void think(),在think方法中输出“别说话!认真思考!”的信息。

(4)在主类E的main方法中创建Monkey与People类的对象类测试这2个类的功能。
源代码:

package bbb;
class monkey {
    monkey (String s){
    }
    public void speak() {
       System.out.println("咿咿呀呀......");
    }
}
class people extends monkey {
    people(String s) {
        super(s);
    }
    public void speak() {
        System.out.println("小样的,不错嘛!会说话了");
    }
    public void think() {
        System.out.println("别说话!认真思考!");
    }
}
public class E {
    public static void main(String[] args) {
        monkey s1=new monkey(null);
        s1.speak();
        people s2=new people(null);
        s2.speak();
        s2.think();
    }
}

运行结果:
1632439-20190512151822159-1312252157.png

3、按要求编写一个Java应用程序:

(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。

(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性,和计算体积的方法。

(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高,输出其底面积和体积。
源代码:
方法一:

package bbb;
import java.util.*;
class a {
   double l,d;
   public double s() {
       double s=l*d;
       return s;
   }
}
class b extends a{
    double h;
    public double v() {
       double v=l*d*h;
       return v;
    }
}
public class test {
    public static void main(String[] args) {
        b s=new b();
        Scanner rd=new Scanner(System.in);
        System.out.println("请输入长方体的长、宽、高:");
        s.l=rd.nextDouble();
        s.d=rd.nextDouble();
        s.h=rd.nextDouble();
        System.out.println("底面积:"+s.s()+"体积:"+s.v());
    }
}

方法二(运用私有属性,setxx()和getxx()方法):

package bbb;
import java.util.*;
class a{
    private double l,d;
    public void setl(double l) {
        this.l=l;
    }
    public double getl() {
        return l;
    }
    public void setd(double d) {
        this.d=d;
    }
    public double getd() {
        return d;
    }
    public double s() {
        return l*d;
    }
}
class b extends a{
    private double h;
    public void seth(double h) {
        this.h=h;
    }
    public double geth() {
        return h;
    }
    public double v() {
        return getl()*getd()*h;
    }
}
public class test {
    public static void main(String[] args) {
        b s=new b();
        s.setl(2.1);
        s.setd(1.5);
        s.seth(1.8);
        System.out.println("面积:"+s.s()+"体积:"+s.v());
    }
}

运行结果:
1632439-20190512160141594-6425656.png
1632439-20190513142911499-972666938.png

4、编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。
小车类Car是Vehicle的子类,其中包含的属性有载人数loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。
每个类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功能。
源代码:

package bbb;
class vehicle{
    int wheels;
    double weight;
    public vehicle() {
        this.wheels=4;
        this.weight=100;
    }
    public void print() {
        System.out.println("车轮个数:"+wheels+",车重:"+weight);
    }
}
class car extends vehicle{
    int loader;
    public car() {
        this.loader=5;
    }
    public void print1() {
        System.out.println("有载人数:"+loader);
    }
}
class truck extends car{
    double payload;
    public truck() {
        this.payload=200;
    }
    public void print2() {
        System.out.println("有载重量:"+payload);

    }
}
public class test1 {
    public static void main(String[] args) {
        truck s=new truck();
        s.print();
        s.print1();
        s.print2();
    }
}

运行结果:
1632439-20190512161710749-1149006137.png

转载于:https://www.cnblogs.com/leiyaxi/p/10849731.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值