下面的代码实现一个简单的Applet: import java.applet.Applet; import java.awt.*; public class Sample extends Applet { private

admin2010-07-28  52

问题 下面的代码实现一个简单的Applet:    import java.applet.Applet;    import java.awt.*;    public class Sample extends Applet    {       private String text="Hello World";       public void init()       {          add(new Label(text));       }       public Sample(String string)       {          text=string;       }    }    通过下面的HTML文件访问:    <html>    <title>Sample Applet</title>    <body>    <applet code="Sample.class"width=200 height=200></applet>    </body>    </html>    当编译和运行该小程序时会出现什么结果,请选择正确的答案。(  )

选项 A、将会出现“Hello World"
B、将会产生一个运行时错误
C、什么都没有
D、产生一个编译时错误

答案8

解析 该题考查对Applet具体编程的理解。实际上就是考查APplet编程与 Application编程的区别。在应用程序编程中,通常由主类的构造函数和main()方法,在主类的构造函数里面进行一些一次性的初始化工作。而在小程序的编程中,也有主类,既然有类也就有相应的构造函数。但是要知道,Applet是在浏览器或者是通过专门的工具运行的,在创建Applet时,不能通过任何手段给Applet传递参数,所以构造函数应该是不能有参数的。但是,这种错误在编译时并不报错,因为它并没有任何的语法错误,只是会在运行时出错,系统会告诉你无法实例化小程序。注意,本题如果将构造函数改成下面的形式,则编译与运行时都不会出错。public Sample  (String string){text="aaaaa";}它的效果与将语句text="aaaaa"放在init()函数里的效果是—样的。也就是说,创建Applet时的初始化工作能放在构造函数里实现的,完全可以放到init()函数里实现。但是,反之,能在init()函数里实现的代码却不一定能在构造函数里实现。这也就是为什么在小程序编程中不用构造函数的原因。故本题答案是D。
转载请注明原文地址:https://jikaoti.com/ti/FlH0FFFM
0

最新回复(0)