果为另一个A类的对象(即不破坏实在参数的值)。请在paintO方法中先输出xl、x2的属性值,然 后再分别以xI、x2为实在参数调用方法b(),并输出调用结果,最后再次输出x1、x2的属性值。 @程斥 import java.awt. import java applet.* public class Appletl extends Applet A xl.x2. xI=new A((short)12,'6') x2=new A((short)62.(char)65);) public void paint(Graphicsg) Aal=newA(short)0," A a2-new A((s g.drawString("对象xI的属性值 i"+x1.i4 ch=+x1.ch,20,20) g.drawString("对象x1的属性值:i="+x2.i+"ch="+x2.ch,20,40): al=b(x1):a2=b(x2): g.drawString("以x】为实参调用方法b()生成的新的A类对象的属性值:i=" tal it" h-"+al.ch,20.60) gdrawString("以x2为实参调用方法b()生成的新的A类对象的属性值 人 +a2.i+ ch="+a2.ch,20,80) g drawString("调用后,对象xl的属性值:i=”+x1.i+”ch="+xl.ch,20,100): g.drawString(("调用后,对象xl的属性值:i=”+x2.i+”ch-"+x2.ch,20,120; A b(A y) Aa=new A((short)0.') a.i=(short)(y.i+3): a ch=(char)(y.ch+3) return a class A short i; char ch; A(short il,char cl)i=il;ch=cl; 2.请按如下要求定义两个类A和B,类A中定义一个cha类型属性x(将其赋值为65)和一个在小 程序窗口中输出x值的方法y Print)。类B是类A的子类,其中定义一个it类型属性v(将其赋 值为16)和String类型的属性s(将其赋值为“java!":类B中也定义了一个名为 的方法,其功能为在小程序窗口中输出y和s值:类B中还有 一个方法printAl(),该方法中分别 用父类和子类的myPrint()方法做输出。编写一个Applet,.在主类Applet1中创建类B的对象b,调 用printAll()方法输出对象b的属性值。 @程序 import java.awt.* import javaapplet. public class Appletl extends Applet
果为另一个 A 类的对象(即不破坏实在参数的值)。请在 paint()方法中先输出 x1、x2 的属性值,然 后再分别以 x1、x2 为实在参数调用方法 b( ),并输出调用结果,最后再次输出 x1、x2 的属性值。 @程序 import java.awt.*; import java.applet.*; public class Applet1 extends Applet { A x1,x2; public void init( ) { x1=new A((short)12,'6'); x2=new A((short)62,(char)65); } public void paint(Graphics g) { A a1=new A((short)0,' '); A a2=new A((short)0,' '); g.drawString("对象 x1 的属性值: i=" + x 1.i+" ch="+ x 1.ch,20,20); g.drawString("对象 x1 的属性值: i=" + x 2.i+" ch="+ x 2.ch,20,40); a1=b(x1); a2=b(x2); g.drawString("以 x1 为实参调用方法 b( ) 生成的新的 A 类对象的属性值: i=" +a1.i+" ch="+a1.ch,20,60); g.drawString("以 x2 为实参调用方法 b( ) 生成的新的 A 类对象的属性值: i=" +a2.i+" ch="+a2.ch,20,80); g.drawString("调用后,对象 x1 的属性值: i=" + x 1.i+" ch="+ x 1.ch,20,100); g.drawString("调用后,对象 x1 的属性值: i=" + x 2.i+" ch="+ x 2.ch,20,120); } A b(A y) { A a=new A((short)0,' '); a.i=(short)(y.i+3); a.ch=(char)(y.ch+3); return a; } } class A { short i; char ch; A(short i1,char c1){ i=i1; ch=c1; } } 2. 请按如下要求定义两个类 A 和 B, 类 A 中定义一个 char 类型属性 x(将其赋值为 65)和一个在小 程序窗口中输出 x 值的方法 myPrint()。类 B 是类 A 的子类,其中定义一个 int 类型属性 y(将其赋 值为 16)和 String 类型的属性 s(将其赋值为“java program!”); 类 B 中 也定义了一个名为 myPrint 的方法,其功能为在小程序窗口中输出 y 和 s 值;类 B 中还有一个方法 printAll( ),该方法中分别调 用父类和子类的 myPrint()方法做输出。编写一个 Applet,在主类 Applet1 中创建类 B 的对象 b,调 用 printAll( )方法输出对象 b 的属性值。 @程序 import java.awt.*; import java.applet.*; public class Applet1 extends Applet
B b-new publie void paint(Graphics g) b.printall(g): char x=65: void myPrint(Graphicsg) gdrawString("x="+x,20.20).) class B extends A int y=16: String s="iava program!" void myPrint(Gra gdrawString("y=+y+ ="+s20,40 void printAll(Graphicsg) super.myPrint(g); myPrint(g),) 3.请按如下要求定义两个类A和B,类A中定义一个方法area(float r)其返回值类型为1oat型, 该方法的功能是返回半径为r的圆的面积(圆的面积公式为:π2,其中r是圆的半径)。类B是类A 的子类 其中也定义了 个名为area的方法area(float),该方法的功能是返回半径为r的球的 面积(球的表面积的计算公式为:4户,其中r为球的半径),返回值类型也为oat型:在类B中 还定义了另一个方法myPrint(们oatr),功能是分别调用父类和子类的方法area()计算半径相同的圆 的面积和球的表面积并输出调用结果。编写一个Application,创建类B的对象b,在主方法main() 中调用myPrint(float r),输出半径为1.2的圆的面积和半径为1.2的球的表面积。 @程序 public class Classl public static void main(String]args) Bb-newB)方 b.myPrint(1.2f). class A float rear(float r) return (float)Math.Pl*r*r: class B extendsA float rear(float r) return 4*(float)Math.PI*r*r; void myPrint(float r) System.out.printn("半径为"+r+"的圆的面积="+super..rcar(r) 同半径的球的表面积="+rar(r):
{ B b=new B( ); public void paint(Graphics g) { b.printAll( g); } } class A { char x=65; void myPrint(Graphics g) { g.drawString("x="+x,20,20); } } class B extends A { int y=16; String s="java program!"; void myPrint(Graphics g) { g.drawString("y="+y+" s="+s,20,40); } void printAll( Graphics g) { super.myPrint(g); myPrint(g); } } 3. 请按如下要求定义两个类 A 和 B, 类 A 中定义一个方法 area(float r), 其返回值类型为 float 型, 该方法的功能是返回半径为 r 的圆的面积(圆的面积公式为:r 2,其中 r 是圆的半径)。类 B 是类 A 的子类,其中也定义了一个名为 area 的方法 area(float r),该方法的功能是返回半径为 r 的球的表 面积(球的表面积的计算公式为:4πr 2,其中 r 为球的半径),返回值类型也为 float 型;在类 B 中 还定义了另一个方法 myPrint(float r),功能是分别调用父类和子类的方法 area( )计算半径相同的圆 的面积和球的表面积并输出调用结果。编写一个 Application,创建类 B 的对象 b,在主方法 main( ) 中调用 myPrint(float r), 输出半径为 1.2 的圆的面积和半径为 1.2 的球的表面积。 @程序 public class Class1 { public static void main (String[] args) { B b=new B( ); b.myPrint(1.2f ); } } class A { float rear(float r) { return (float)Math.PI*r*r; } } class B extends A { float rear(float r) { return 4*(float)Math.PI*r*r; } void myPrint(float r) { System.out.println("半径为 "+r+"的圆的面积="+super.rear(r) +" 同半径的球的表面积="+rear(r));
4.请编写Applet,它由三个类定义组成:类A中只定义了一个类型为String的对象x和带有一个参 数的构造函 (用来初始化x) 类B是类A的子类,其中定义了一个n类型的变量x和 一个带两 个参数的构造函数(用来为父类中的对象x和类B中的变量x做初始化),还定义了一个方法 my Print(),功能为输出父类A中的x和其子类B中的x的值:主类Applet1中定义了B类的对象b, 请通过创建b为上述两个x赋值(类A中的x的值为“这是父类的x”,类B中的x的值为68),通 过paint(0方法在坐标(20,30)处显示两个x的值。 @程序 import java.awt. importjava.applet.◆ public class Applet1 extends Apple Bb=newB("这是父类的x.",68): public void paint(Graphicsg) b.myPrint(g); } class A String x; A(String x1){x=x1; class B extendsA intx. B(String xl,int x2)super(x1);x=x2; void myPrint(Graphics g) {g.drawString("父类A中x的值="+super.x+”子类B中x的值="+x,20,30 5.请编写Applet,.它由三个类定义组成,类名分别为A、B和Appletl:类A中定义了类型为int的 变量i、类型为oa的变量f和类型为cha的变量ch:类A还定义了三个构造函数,其中,第一个构 造函数带有一个it类型的参数(用于初始化i),第二个构造函数带有两个参数(参数类型分别为int 和Ioat,用于初始化i和),第三个构造函数带有三个参数(参数类型分别为int、loal和char,用于 初始化i、f和ch)。类B是类A的子类,其中仅定义了一个类型为boolean的变量b和一个带四个 参数的构造函数(用来为父类中的变量i、Kch和本类的变量b做初始化)。主类App1中定义了 一个初值为32.6的double型变量d和一个B类的对象b,请通过创建b为上述i、R、ch和b赋值(d 的值为50,f的值为7.2,ch的值为h,b的值为true),用paint0(方法在(10,30)位置处显示i.f.chb,d 的值
} } 4. 请编写 Applet,它由三个类定义组成: 类 A 中只定义了一个类型为 String 的对象 x 和带有一个参 数的构造函数(用来初始化 x);类 B 是类 A 的子类,其中定义了一个 int 类型的变量 x 和一个带两 个参数的构造函数(用来为父类中的对象 x 和类 B 中的变量 x 做初始化),还定义了一个方法 myPrint( ),功能为输出父类 A 中的 x 和其子类 B 中的 x 的值;主类 Applet1 中定义了 B 类的对象 b, 请通过创建 b 为上述两个 x 赋值(类 A 中的 x 的值为“这是父类的 x.”, 类 B 中的 x 的值为 68),通 过 paint()方法在坐标(20,30)处显示两个 x 的值。 @程序 import java.awt.*; import java.applet.*; public class Applet1 extends Applet { B b=new B("这是父类的 x.",68 ); public void paint(Graphics g) { b.myPrint(g); } } class A { String x; A(String x1){ x=x1; } } class B extends A { int x; B(String x1,int x2){ super(x1); x=x2; } void myPrint(Graphics g) { g.drawString("父类 A 中 x 的值="+super.x+" 子类 B 中 x 的值="+x,20,30); } } 5. 请编写 Applet,它由三个类定义组成, 类名分别为 A、B 和 Applet1:类 A 中定义了类型为 int 的 变量 i、类型为 float 的变量 f 和类型为 char 的变量 ch;类 A 还定义了三个构造函数,其中,第一个构 造函数带有一个 int 类型的参数(用于初始化 i),第二个构造函数带有两个参数(参数类型分别为 int 和 float,用于初始化 i 和 f), 第三个构造函数带有三个参数(参数类型分别为 int、float 和 char,用于 初始化 i、f 和 ch)。类 B 是类 A 的子类,其中仅定义了一个类型为 boolean 的变量 b 和一个带四个 参数的构造函数(用来为父类中的变量 i、f、ch 和本类的变量 b 做初始化)。主类 Applet1 中定义了 一个初值为 32.6 的 double 型变量 d 和一个 B 类的对象 b,请通过创建 b 为上述 i、f、ch 和 b 赋值(i 的值为 50,f 的值为 7.2,ch 的值为’h’,b 的值为 true),用 paint()方法在(10,30)位置处显示 i,f,ch,b,d 的值
@程序 import java.awt. import java applet. public class Appletl extends Applet double d=32.. Bb=newB(50.7.2f.h.true): public void paint(Graphics g) g.drawString("i="+b.i+"f="+bf+"ch="+b.ch+"b=*+b.b+"d="+d,10,30) class A int i float f char ch. A(int x)=x; A(int x,floaty)this(x);f=y, A(int x.float y.char z){this(x.y):ch=z; class B extendsA boolean b; B(int x,float y.char z,boolean w)super(x.y,z);b=w, 练习6(5) 掌握:接口、抽象类、最终类的编程:字符串的使用。 L.定义接口A,接口内有两个方法:methodl(ntx)和method2(int xinty),它们的返回值类型均为 int。请编写一个Applet,并使其实现接口A:令方法methodl(intx)的功能是求5的x次方、方法 method2(int xint)y的功能是求两参数的最大值,在paint()方法中调用这两个方法,显示methodl(2) 和mcthod2(2,8)的结果。 @程序 import java awt.* import java applet.◆: public class Appletl extends Applet implementsA public void paint(Graphics g) g.drawString(("调用method1(2)的结果:"+method1(2),20,20: g.drawString("调用method2(2,8)的结果:"+method2(2,8),20,40:
@程序 import java.awt.*; import java.applet.*; public class Applet1 extends Applet { double d=32.6; B b=new B(50,7.2f,'h',true ); public void paint(Graphics g) { g.drawString("i="+b.i+" f="+b.f+" ch="+b.ch+" b="+b.b+" d="+d,10,30); } } class A { int i; float f; char ch; A(int x){ i=x; } A(int x,float y){ this(x); f=y; } A(int x,float y,char z){this(x,y); ch=z; } } class B extends A { boolean b; B(int x,float y,char z,boolean w){ super(x,y,z); b=w; } } 练习 6(5) 掌握:接口、抽象类、最终类的编程;字符串的使用。 1. 定义接口 A,接口内有两个方法: method1(int x)和 method2(int x,int y),它们的返回值类型均为 int。请编写一个 Applet,并使其实现接口 A:令方法 method1(int x)的功能是求 5 的 x 次方、方法 method2(int x,int y) 的功能是求两参数的最大值。在 paint()方法中调用这两个方法,显示 method1(2) 和 method2(2,8)的结果。 @程序 import java.awt.*; import java.applet.*; public class Applet1 extends Applet implements A { public void paint(Graphics g) { g.drawString("调用 method1(2)的结果: "+method1(2),20,20); g.drawString("调用 method2(2,8)的结果: "+method2(2,8),20,40);
} int result=1 for(int i=1:i<=x.i++) result=5: return result. public int method2(intx,inty) return x>y?x:y. interfaceA public abstract int methodl(intx): public abstract int method2(int x.int y): 2.定义名为VolumeArea的抽象类,在其中定义圆周率x的值为314159, 并定义两个抽象方法 volume(double)r和area(double r),它们的返回值类型均为loat。再定义以类VolumeArea为父类 的子类VolumeAndArea,.在该子类中实现父类中的抽象方法:方法volume(double)r的功能是求半 径为r的球的体积(公式为:4r+3):方法area(double)的功能是求半径为r的圆的面积(公式为: πr)。请编写一个Application,在其主类中定义一个VolumeAndArea类的对象x,通过对象x求半 径为r的值由命令行给定)的球的体积及该球最大切面的圆的面积,并输出计算结果。 @程序 publie class Class1 static VolumeAndArea x=new VolumeAndArea() public static void main(String]args) float r=Float.valueOf(args[0]).float Value(). System.out.printn("半径为”+r+"的球的体积="+x.volume() System.out printn("半径为°+r+"的圆的面积="+x.area(r)以 abstract class VolumeArea static final float myPI=3.14159f. public abstract float volume(double r). public abstract float area(double r) class VolumeAndArea extends VolumeArea public float volume(double r) return (float)(4*myPI*r*r*r/3). }
} public int method1(int x) { int result=1; for(int i=1;i<=x;i++) result*=5; return result; } public int method2(int x,int y) { return x>y?x:y; } } interface A { public abstract int method1(int x); public abstract int method2(int x,int y); } 2. 定义名为 VolumeArea 的抽象类,在其中定义圆周率的值为 3.14159,并定义两个抽象方法 volume(double r)和 area(double r),它们的返回值类型均为 float。再定义以类 VolumeArea 为父类 的子类 VolumeAndArea,在该子类中实现父类中的抽象方法:方法 volume(double r) 的功能是求半 径为 r 的球的体积(公式为:4r 33);方法 area(double r)的功能是求半径为 r 的圆的面积(公式为: r 2)。请编写一个 Application ,在其主类中定义一个 VolumeAndArea 类的对象 x,通过对象 x 求半 径为 r(r 的值由命令行给定)的球的体积及该球最大切面的圆的面积,并输出计算结果。 @程序 public class Class1 { static VolumeAndArea x=new VolumeAndArea( ); public static void main(String[ ] args) { float r=Float.valueOf(args[0]).floatValue( ); System.out.println("半径为"+r+"的球的体积="+x.volume(r)); System.out.println("半径为"+r+"的圆的面积="+ x.area(r)); } } abstract class VolumeArea { static final float myPI=3.14159f; public abstract float volume(double r); public abstract float area(double r); } class VolumeAndArea extends VolumeArea { public float volume(double r) { return (float)(4*myPI*r*r*r/3); }