Java 层次结构
Java是一种解释性的语言,但不能直接对源代码进行解释,还需要对源代码进行初步的编译。源代码编译后的结果是字节码,不能在操作系统上直接运行,这两者之间需要有一个解释器层面,通过这一层解释器,就可以把JAVA的字节码翻译成本机代码,然后再执行。
通过Java的解释器,保证了java程序的可移植性。Java解释器随不同平台而变化,平台不同,但是提供的共同的Java编程接口,保证可移植性。
Java 开发流程
Java语言的源代码以字符的方式存放在*.java的文件中,源代码不能执行,必须经过java编译器进行编译,其编译结果称为字节码(Byte Code),存放在*.class的文件中,这些字节码可以在带有Java编译器的平台上运行。有些流浪器还支持Java语言,因此还可以 java嵌入到HTML语言中,并在浏览器中执行。如Hotjava浏览器。
Java 开发环境
SUN公司为我们提供了一套Java开发工具(JDK),包括Java编译器、解释器、调试器等,使用它可以开发各种java应用。
Java编译器:java编译器是用来将Java源文件编译成可执行的Java字节码(bytecode)。*.java-->*.class。源文件中的每个类在编译后都将产生一个class文件,这就意味着很多情况下,一个java源代码文件可能编译生成多个class文件。
Java解释器:对编译生成的bytecode格式的可执行程序的运行提供支持,java解释器使用环境变量CLASSPATH来确定用户定义的类所在的目录,CLASSPATH包含一些以分号隔开的用户定义的java类的系统路径,通常,java工具使用CLASSPATH来找到用户定义的类。
Java技术的分类
(1)J2SE:Java 2 Standard Edition
支持所有JAVA标准规范中所定义的核心类函数库和所有的JAVA基本类别。J2SE定位在客户端程序的应用上。
(2)J2EE:Java 2 Enterprise Edition
在J2SE的基础上增加了企业内部扩展类函数库的支持,比如支持Servlet/JSP的javax.servletr.*和EJB的 javax.ejb.*的类函数库。J2EE定位在服务器端程序的应用上。
(3)J2ME:Java 2 Micro Edition
只支持JAVA标准规范中所定义的核心类函数库的子集。定位于嵌入式系统的应用上。
Java 程序分类
java程序可以分为两类:Applet与Stand-alone;
Applet:是在编译后通过Applet View或支持Java的WWW浏览器来运行Java程序;
Stand-alone:程序是在操作系统环境下可直接运行的java程序,与传统的C/C++非常类似。
J2SE分为:
Java Application
Java Applet
【Stand-alone就是在开发环境上编好代码之后,直接点击运行,就可以在开发环境上看到结果】
【Java Applet:通过浏览器访问,就是可以通过在开发环境上通过软件运行Tomcat, 相当于建立一个服务器,就可以通过网页进行访问这个JAVA工程】
【Java Application】
Java 编程基础
Java是面向对象编程的一门语言; 对象是包含了数据data(属性Property)与操作(Method)的软件模型;
对象是对客观的抽象映射。
消息是对象间交互和传送信息的载体,对象是面向对象的软件的基本模型。
消息包含的要素: 1.消息要作用的对象 2.消息要完成的操作名 3.操作所需的参数。
android应用程序的入口
android应用程序中,并没有像c++和java这样有main函数来作为应用程序的入口.android应用程序提供的是入口Activity,而非入口函数. 在eclipse中创建一个android应用程序的时候,默认会创建一个Activity.这个Activity实际上就是入口Activity了.从哪里定义它是Activity呢?AndroidManifest.xml文件中定义了整个android应用所包含的Activity.默认生成的Activity的定义为:
<activity android: android:label="@string/app_name">
<intent-filter>
<action android: />
<category android: />
</intent-filter>
</activity>
android应用程序实际上是由多个Activity按照一定的次序拼装起来的,只不过拼装的过程中,后台传递了一些数据,使得各个Activity之间能比较好的衔接起来。
action节点中的android.intent.action.MAIN表明它所在的Activity是整个应用程序的入口点.而category中的android.intent.category.LAUNCHER意思是把这个Activityg归属到加载器类,即把这个Activity标注为自动会加载和启动的Activity,这样程序启动时候就先加载这个Activity了.
面向对象编程的3个特性
(1)封装性:将数据和对数据的操作封装到一起。
(2)继承性:子类可以继承父类的属性和功能,同时又可以增添自己的属性和功能。
(3)多态性:即多种形态。有2中意义的多态:一种是操作名称的多态,即方法的重载。另一种是和继承有关的多态,是指统一操作被不同类型的对象调用时可能产生不同的行为,即运行时刻多态。方法重载,运行时刻多态。
Java 程序结构
java的程序在结构上看,两部分: 1.引入库声明区 2.类的定义区
可以引入一个具体的类名或者是相关的类库名。
Java系统提供的类库也称为java API,它是系统提供的已实现的标准类的集合,按其用途被划分为若干个不同的包。J2SE中将java API主要分成3个包:
(1)java核心包:java.*:包括:applet、awt、beans、io、lang、math、net、sql、text、util等。
(2)java扩展的包:javax.*:包括:swing、security、rmi等。
(3)组织的包:org.*:主要用于CORBA和XML处理。
除了引入库声明以外,所以的变量、语句、操作都在类中。
在类定义中,有变量和操作函数两个部分。在类的定义中,有两个与类同名的操作函数--构造函数(一个不带参数、一个带参数:可以适应不同的场合):完成初始化工作,如变量赋值等。 析构函数:在对象被删除时调用。析构函数可以没有,但是养成良好的编程习惯,应该加上。
Java 类定义
|