1、java Applet是java小程序,是用<applet></applet>嵌入html中的java代码,
Applet必须是java.applet.Applet的一个子类,而普通的java程序必须有一个主方法即
public static void main(String[] args) {}做为整个程序的入口.Applet没有.Applet可以
通过数字签名来获得客户端的文件的完全或不完全的操作能力
2、好像是java的一个组件,就如同微软的ActiveX一样的东西
3、datainputstream stdln=new datainputstream(
new datainputstream(
new bufferedinputstream(system.in);
这种写法是错误的,java是区分大小写的,正确的写法如下:
DataInputStream stdln=new DataInputStream(
new DataInputStream(
new BufferedInputStream(System.in)));
这个是java.io包中的类,是输入流,java用流的概念来进行数据的传输
在java.io包中定义了一个InputStream(它是一个抽象类,也就是说,
不能直接实例化InputStram,而要用它的功能必须实例化它的子类)
InputStream的子类的其中一个是FilterInputStream而FilterInputStream的子类中的一个是
DataInputStream。
DataInputStream 的构造函数是DataInputStream(InputStream in)
要实例化一个DataInputStream
必须给他一个InputStream类型的变量作为构造器的参数,
看看这一句话
new DataInputStream(new BufferedInputStream(System.in));
就是给出了一个DataInputStream类型的变量
DataInputStream的构造函数是InputStream类型的,
InputStream和其子类都是InputStream类型的
BufferedInputStream也是InputStream的一个间接子类,为什么这么说呢,因为
他是FilterInputStream的一个子类,而FilterInputStream是InputStream的一个子类
在来看看 new BufferedInputStream(System.in)
BufferedInputStream的构造函数是BufferedInputStream(InputStream in)
就是说System.in是一个InputStream类型的变量,下边来看看到底是不是这么回事
在System类中定义了三个变量
static PrintStream err
static InputStream in
static PrintStream out
可见System.in是InputStream类型的,而InputStream中并没有定义这么一个变量,
那么就是说是InputStream的子类中定义了这么一个变量了,到底是哪个子类定义的呢?
在FiterInputStream类中有这样的域的定义
protected InputStream in
-----------------------------------------------------------------------------
我分析了这么多好象把我自己都搞糊涂了,你可以把这句话分开来写,就比较清楚了:
DataInputStream stdln=new DataInputStream(
new DataInputStream(
new BufferedInputStream(System.in)));
可以写成:
BufferedInputStream i=new BufferedInputStream(System.in);
DataInputStream j=new DataInputStream(i);
DataInputStream stdln=new DataInputStream(j);
分成了3句来写就比较清晰了,其实这段代码的意思是把键盘输入内容作为输入流。