第五次Java作业
/*1、实现如下类之间的继承关系,并编写Music类来测试这些类。
*/
package bbb;
class instrument{
public void play(){
System.out.println("弹奏乐器");
}
}
class wind extends instrument{
public void play(){
System.out.println("弹奏wind");
}
public void play1(){
System.out.println("调用wind play1");
}
}
class Brass extends instrument{
public void play(){
System.out.println("弹奏Brass");
}
public void play2(){
System.out.println("调用Brass play2");
}
}
public class music {
public static void tune(instrument i){
i.play();
}
public static void main(String[] args) {
music m=new music();
wind w=new wind();
Brass b=new Brass();
instrument i=new instrument();
w.play1();
b.play2();
m.tune(i);
m.tune(w);
m.tune(b);
}
}
调用wind play1
调用Brass play2
弹奏乐器
弹奏wind
弹奏Brass
/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 speck(){
System.out.println("咿咿呀呀");
}
}
class people extends monkey{
people(String s) {
super(s);
}
public void speck(){
System.out.println("小样儿,不错啊,都会说话了");
}
void think(){
System.out.println("别说话,认真思考");
}
}
public class E {
private static final String String = null;
public static void main(String[] args) {
monkey m=new monkey(null);
people p=new people(null);
m.speck();
p.speck();
p.think();
}
}
咿咿呀呀
小样儿,不错啊,都会说话了
别说话,认真思考
/3、按要求编写一个Java应用程序:
(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。
(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性,和计算体积的方法。
(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高,输出其底面积和体积。/
import java.util.Scanner;
class juxing{
Scanner er=new Scanner(System.in);
double l=er.nextDouble();
double k=er.nextDouble();
double s;
void minji(){
s=l*k;
System.out.println("矩形面积为:"+s);
}
}
class kuai extends juxing{
Scanner er=new Scanner(System.in);
double h=er.nextDouble();
double v;
void minji(){
s=lk;
System.out.println("底面积为:"+s);
}
void tiji(){
v=lk*h;
System.out.println("体积为:"+v);
}
}
public class stackef {
public static void main(String[] args) {
juxing j=new juxing();
kuai a=new kuai();
j.minji();
a.minji();
a.tiji();
}
}
1
2
3
4
5
矩形面积为:2.0
底面积为:12.0
体积为:60.0
/4、编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。小车类Car是Vehicle的子
类,其中包含的属性有载人数loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个类都有构造方法和
输出相关数据的方法。最后,写一个测试类来测试这些类的功能。/
import java.util.Scanner;
class vehicle{
Scanner er=new Scanner(System.in);
int wheels=er.nextInt();
int weight=er.nextInt();
vehicle(){
}
void kt() {
System.out.println("车轮个数和车重分别为:"+wheels+","+weight);
}
}
class car extends vehicle{
car() {
super();
}
int loader=er.nextInt();
void kt() {
System.out.println("车轮个数、车重和有载人数分别为:"+wheels+","+weight+","+loader);
}
}
class truck extends car{
truck() {
super();
}
int payload=er.nextInt();
void kt() {
System.out.println("车轮个数、车重、有载人数和有载重量分别为:"+wheels+","+weight+","+loader+","+payload);
}
}
public class testcur {
public static void tune(vehicle v) {
v.kt();
}
public static void main(String[] args) {
tune(new vehicle());
tune(new car());
tune(new truck());
}
}
1
2
车轮个数和车重分别为:1,2
3
4
5
车轮个数、车重和有载人数分别为:3,4,5
6
7
8
9
车轮个数、车重、有载人数和有载重量分别为:6,7,8,9
心得:在这次上机实验中,我学会了如何运用继承,并将子类中继承父类的方法进行重写和覆盖,让后将其输出。并对于静态的方法运用更深了一些。