makeFly((CanFly)d1); }
CanFly f1=new Plane(); CanFly f2=new Bird(); makeFly(f1); makeFly(f2); }
static void makeFly(CanFly f) {f.fly();} }
interface CanFly { void fly();}
class Plane implements CanFly { public void fly()
{ System.out.println(\ } }
class Bird implements CanFly { public void fly()
{System.out.println(\ }
class Dog{ void run(){System.out.println(\
}
13. 利用接口继承完成对生物、动物、人三个接口的定义,其中生物接口定义呼吸抽象方法,动物接口定义了吃饭和睡觉两个抽象方法,人接口定义了思维和学习两个抽象方法;定一个普通人 类实现上述三个接口定义的抽象方法。
interface Biology {
void breath(); }
interface Animal extends Biology {
void ate();
void sleep(); }
interface Man extends Animal {
void think(); void study(); }
class NormalMan implements Man,Animal,Biology {
private String name;
NormalMan(String name)
21
{ this.name=name;} public String getName() { return name;} public void breath()
{ System.out.println(name+\ public void ate()
{ System.out.println(name+\ public void sleep()
{ System.out.println(name+\ public void think()
{ System.out.println(name+\ public void study()
{ System.out.println(name+\ }
public class InterfaceExtend {
public static void main(String[] args) {
NormalMan zhangsan=new NormalMan(\ zhangsan.breath(); zhangsan.ate(); zhangsan.sleep(); zhangsan.think(); zhangsan.study(); } }
14 接口Volume如下,试编制类TriVolume实现该接口,并计算三棱柱的体积(底面为等边三角形)。 接口为:
Public interface Volume {
public double findVolume(double bian, double length); }
类为: class Trival { double bian; Trival() { bian=1.0; } Trival(double b) { bian=b; } double findArea()
22
{
return (3/4)*bian*bian;
} }
答案:
class TriVolume extends Trival implements Volume {
double bian,length;
TriVolume(double b, double l) {
super(b); length=l; }
public double findArea() {
return 2*(3/4)*bian*bian +3*bian*length; }
public double findVolume(double bian, double length) {
return (3/4)*bian*bian*length;
} }
15 利用多态性的知识,设计类EqualArea,判断圆与三角形面积的大小。(Circl类和Trival类已知) 答案:
public class TestPolymorphism {
// Main method
public static void main(String[] args) {
// Declare and initialize two geometric objects GeometricObject geoObject1 = new Circle(5.0); GeometricObject geoObject2 = new Trival(5.0, 3.0);
System.out.println(\ equalArea(geoObject1, geoObject2));
// Display circle
displayGeometricObject(geoObject1);
// Display Trival
displayGeometricObject(geoObject2); }
23
// A method for comparing the areas of two geometric objects static boolean equalArea(GeometricObject object1, GeometricObject object2) {
return object1.findArea() == object2.findArea(); }
// A method for displaying a geometric object
static void displayGeometricObject(GeometricObject object) {
System.out.println();
System.out.println(object.toString());
System.out.println(\ } }
16.用循环语句实现,打印1到100之间的自然数?
public class Print { }
public static void main(String[] args) {
for(int i=1;i<=100;i++)
System.out.print(i+\);
}
System.out.println();
17.用Java语句实现把有5个元素的单下标整数数组g的元素都初始化成8?
public class Lx1 {
public static void main(String[] args) { int g[]=new int[5];
for(int i=0;i g[i]=8; System.out.println(g[i]); } for(int i=0;i 18编写一个类Teacher,描述教师的员工号、姓名、岗位工资、绩效工资。员工号用整型,工资用双精度型,姓名用String类型,编写一个带参数的构造方法给员工号、姓名、岗位工资和绩效工资初始化,编写一个方法计算并返回教师的总工资(岗位工资+绩效工资)? public class Teacher { int number; double gangweigz; double jixiaogz; String name; Teacher(int number,String name,double gangweigz,double jixiaogz){ this.number=number; this.name=name; this.gangweigz=gangweigz; this.jixiaogz=jixiaogz; 24 } } } public double total(){ return gangweigz+jixiaogz; public static void main(String[] args) { } Teacher t1=new Teacher(1001,\,3000,2000); System.out.println(t1.total()); 19.定义一个矩形类,包含有长length、宽width两种属性,构造方法(要求写出初始化长和宽)和计算面积方法 findArea()(实现返回面积值)。 编写一个长方体类,继承自矩形类,具有长length、宽width、高height属性,构造方法和计算体积的方法findVolume()(实现返回体积值)。 编写一个测试类Test,对以上两个类进行测试,通过调用其构造方法创建一个长方体对象(其中长length为2、宽width为5、高height为7),要求输出其底面积和体积。 class Juxing{ } class ChangFangTi extends Juxing{ } public class Test { } public static void main(String[] args) { ChangFangTi obj=new ChangFangTi(2,5,7); System.out.println(\底面积=\+obj.findArea()); int height; ChangFangTi(int l,int w,int h){ } public int findVolume(){ return super.findArea()*height; } super(l,w); height=h; int length; int width; Juxing(int l,int w){ } public int findArea(){ } return length*width; length=l; width=w; System.out.println(\体积=\+obj.findVolume()); } 20.用for循环语句实现打印50到80之间的自然数? public class Print { public static void main(String[] args) { for(int i=50;i<=80;i++) 25