重拾Java(一)

来源:互联网 发布:怎样开淘宝生意才最好 编辑:程序博客网 时间:2024/05/02 02:11

重拾Java,把自己的疑问写下来:

1.为什么Java开发分为3类:Java桌面应用程序,JavaWeb应用程序和JavaApplet程序?
http://www.cnblogs.com/sun-/p/5592244.html
Application和Java Applet的区别。
  Java语言是一种半编译半解释的语言。Java的用户程序分为两类:Java Application和Java Applet。
 这两类程序在组成结构和执行机制上都有一定的差异,主要体现在以下几方面:

  • 运行方式不同
     Java Application是完整的程序,可以独立运行;
     Java Applet程序不能单独运行,它必须嵌入到用HTML语言编写的Web页面中,通过与Java兼容的浏览器来控制执行。
  • 运行工具不同
     Java Application程序被编译以后,用普通的Java解释器就可以使其边解释边执行;
     Java Applet必须通过网络浏览器或者Applet观察器才能执行
  • 程序结构不同
     每个Java Application程序必定含有一个并且只有一个main方法,程序执行时首先寻找main方法,并以此为入口点开始运行。含有main方法的那个类,常被称为主类,也就是说Java Application程序都含有一个主类;
     Applet程序则没有含main方法的主类,这也正是Applet程序不能独立运行的原因。尽管Applet没有含main方法的主类,但Applet一定有一个从 java.applet.Applet派生的类,它是由Java系统提供的。
  • 受到的限制不同
     Java Application程序可以设计成能进行各种操作的程序,包括读/写文件的操作;
     Java Applet 对站点的磁盘文件既不能进行读操作,也不能进行写 操作。然而,由于Applet的引入使Web页面具有动态多媒体效果和可交互性能,这使由名为超文本、实为纯文本的HTML语言编写成的Web页面真正具有了超文本功能不但可以显示文本信息,而且还可以有各种图片效果和动态图形效果,从而使页面显得生动美丽;另外,Applet使Web页面增加了按钮等功能,从而增加了交互性。

2.Java中main入口为什么要写在类里面?以及为什么是public static修饰?
 http://www.cnblogs.com/xwdreamer/archive/2012/04/09/2438845.html
 在java中,main()方法是java应用程序的入口方法。java虚拟机通过main方法找到需要启动的运行程序,并且检查main函数所在类是否被java虚拟机装载。如果没有装载,那么就装载该类,并且装载所有相关的其他类。因此程序在运行的时候,第一个执行的方法就是main()方法。通常情况下, 如果要运行一个类的方法,必须首先实例化出来这个类的一个对象,然后通过”对象名.方法名()”的方式来运行方法,但是因为main是程序的入口,这时候还没有实例化对象,因此将main方法声明为static的,这样这个方法就可以直接通过“类名.方法名()”的方式来调用。

3.在学习过程中遇到的,Java与C++的一些区别:
(1)Java的函数入口在与文件同名的public类的main函数,并且方法里面不能嵌套定义函数;
(2)Java的每一个成员变量都要加上访问限定符,C++写一次就行;
(3)Java将对象作为参数传递的时候,传入的是引用,在方法内更改参数的值即是更改原本变量的值,在C++中是临时变量,不影响原来的值;
(4)Java没有多继承,一个子类只能继承一个父类(访问限定符的限制相当于C++的公有继承),但是可以实现多个接口; 如果想访问父类的私有/隐藏的属性或方法,可以用super关键字;
(5)Java类的静态属性在static代码块中初始化,C++的类静态数据成员在类外初始化(如果没有初始化都默认初始为0);
(6)Java中对象的赋值操作实际上是操作的句柄,比如Test t1 = new Test(10); Test t2 = new Test(9); t1=t2; 赋值之后t1和t2句柄相同,指向t2对象,t1原本的句柄丢失;而C++中对象赋值是两个不同的对象,赋值分为浅拷贝和深拷贝,深拷贝需要重载拷贝构造函数,新开辟一段内存把数据一个一个复制过来。

0 0