Java基础

来源:互联网 发布:白兔商标查询软件 编辑:程序博客网 时间:2024/06/16 09:45

                         Java 简介

Java是由Sun Microsystems公司于19955月推出的Java面向对象程序设计语言和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。

Java分为三个体系:

·       JavaSEJ2SE)(Java2 Platform Standard Editionjava平台标准版)

·       JavaEE(J2EE)(Java 2 Platform,Enterprise Editionjava平台企业版)

·       JavaME(J2ME)(Java 2 Platform Micro Editionjava平台微型版)

20056月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名以取消其中的数字"2"J2EE更名为Java EE, J2SE更名为Java SEJ2ME更名为Java ME


主要特性

·       Java语言是简单的:

Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

·       Java语言是面向对象的:

Java语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。

·       Java语言是分布式的:

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URLURLConnectionSocketServerSocket等。JavaRMI(远程方法激活)机制也是开发分布式应用的重要手段。

·       Java语言是健壮的:

Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

·       Java语言是安全的:

Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。

·       Java语言是体系结构中立的:

Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

·       Java语言是可移植的:

这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。

·       Java语言是解释型的:

如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

·       Java是高性能的:

与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++

·       Java语言是多线程的:

Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。

·       Java语言是动态的:

Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。


发展历史

·       1995523日,Java语言诞生

·       19961月,第一个JDK-JDK1.0诞生

·       19964月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术

·       19969月,约8.3万个网页应用了JAVA技术来制作

·       1997218日,JDK1.1发布

·       199742日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录

·       19979月,JavaDeveloperConnection社区成员超过十万

·       19982月,JDK1.1被下载超过2,000,000

·       1998128日,JAVA2企业平台J2EE发布

·       19996月,SUN公司发布Java的三个版本:标准版(JavaSE,以前是J2SE)、企业版(JavaEE以前是J2EE)和微型版(JavaME,以前是J2ME

·       200058日,JDK1.3发布

·       2000529日,JDK1.4发布

·       200165日,NOKIA宣布,到2003年将出售1亿部支持Java的手机

·       2001924日,J2EE1.3发布

·       2002226日,J2SE1.4发布,自此Java的计算能力有了大幅提升

·       200493018:00PMJ2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0

·       20056月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字"2"J2EE更名为Java EEJ2SE更名为Java SEJ2ME更名为Java ME

·       200612月,SUN公司发布JRE6.0

·       20090420日,甲骨文74亿美元收购Sun。取得java的版权。

·       201011月,由于甲骨文对于Java社区的不友善,因此Apache扬言将退出JCP[4]

·       2011728日,甲骨文发布java7.0的正式版。

·       2014318日,Oracle公司发表Java SE 8


Java开发工具

Java语言尽量保证系统内存在1G以上,其他工具如下所示:

·       Linux系统、Mac OS系统、Windows 95/98/2000/XPWIN 7/8系统。

·       Java JDK 78……

·       Notepad 编辑器或者其他编辑器。

·       IDEEclipse

安装好以上的工具后,我们就可以输出Java的第一个程序"Hello World"

publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("HelloWorld");}}

在下一章节我们将介绍如何配置java开发环境。

 Java 教程

Java 开发环境配置 

 笔记列表

1.            sherlxia

  121***3301@qq.com

   参考地址

        Java语言其实是有个曾用名的~Oak,而且起这个名字的时候也是很随心的,只是因为看到了窗口外的一颗橡树(只是因为面向窗外多看了你一眼~),所以就叫为Oak,但Oak这个名字已经被注册。最后他们以Java这个名字命名了这个语言,据说是Sun公司的程序猿们都很喜欢喝咖啡,而且对爪哇岛的一种咖啡印象很深,所以就有了Java这个经典的名字和咖啡的图标。

"I named Java," said Kim Polese, then the Oakproduct manager and now CEO of Marimba Inc. "I spent a lot of time andenergy on naming Java because I wanted to get precisely the right name. Iwanted something that reflected the essence of the technology: dynamic,revolutionary, lively, fun. Because this programming language was so unique, Iwas determined to avoid nerdy names. I also didn't want anything with 'Net' or'Web' in it, because I find those names very forgettable. I wanted somethingthat was cool, unique, and easy to spell and fun to say.yin'yong

sherlxia

   sherlxia

  121***3301@qq.com

   参考地址

2个月前(07-05)

2.           zhouhan

  145***9994@qq.com

在正式学习java并安装配置开发环境之前,有必要了解一些有关Java的专业术语:

o  JDKJava DevelopmentKit ):编写Java程序的程序员使用的软件

o  JREJava RuntimeEnvironment):运行Java程序的用户使用的软件

o  Server JRE Java SE Runtime Environment):服务端使用的 Java 运行环境

o  SDKSoftwareDevelopment Kit):软件开发工具包,在Java中用于描述1998~2006年之间的JDK

o  DAOData AccessObject):数据访问接口,数据访问,顾名思义就是与数据库打交道

o  MVCModel View Controller):模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法

JRE Server JRE区别,以下是官网中的说明:

Software Developers: JDK (Java SE Development Kit). ForJava Developers. Includes a complete JRE plus tools for developing, debugging,and monitoring Java applications.

Administrators running applications on a server: Server JRE (Server Java Runtime Environment) For deploying Javaapplications on servers. Includes tools for JVM monitoring and tools commonlyrequired for server applications, but does not include browser integration (theJava plug-in), auto-update, nor an installer.

下载JDK

首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,点击如下下载按钮:

在下载页面中你需要选择接受许可,并根据自己的系统选择对应的版本,本文以 Window 64位系统为例:

下载后JDK的安装根据提示进行,还有安装JDK的时候也会安装JRE,一并安装就可以了。

安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为 C:\Program Files(x86)\Java\jdk1.8.0_91

配置环境变量

1.安装完成后,右击"我的电脑",点击"属性",选择"高级系统设置"

2.选择"高级"选项卡,点击"环境变量"

然后就会出现如下图所示的画面:

"系统变量"中设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击"编辑",不存在则点击"新建"

变量设置参数如下:

·       变量名:JAVA_HOME

·       变量值:C:\Program Files(x86)\Java\jdk1.8.0_91       //要根据自己的实际路径配置

·       变量名:CLASSPATH

·       变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;         //记得前面有个"."

·       变量名:Path

·       变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

JAVA_HOME 设置

PATH设置

CLASSPATH 设置

这是 Java 的环境配置,配置完成后,你可以启动 Eclipse来编写代码,它会自动完成java环境的配置。

注意:如果使用1.5以上版本的JDK,不用设置CLASSPATH环境变量,也可以正常编译和运行Java程序。

测试JDK是否安装成功

1"开始"->"运行",键入"cmd"

2、键入命令java -versionjavajavac 几个命令,出现以下信息,说明环境变量配置成功;


LinuxUNIXSolarisFreeBSD环境变量设置

环境变量PATH应该设定为指向Java二进制文件安装的位置。如果设置遇到困难,请参考shell文档。

例如,假设你使用bash作为shell,你可以把下面的内容添加到你的.bashrc文件结尾: export PATH=/path/to/java:$PATH


流行JAVA开发工具

正所谓工欲善其事必先利其器,我们在开发java语言过程中同样需要依款不错的开发工具,目前市场上的IDE很多,本文为大家推荐以下下几款java开发工具:

·       Eclipse(推荐):另一个免费开源的java IDE,下载地址: http://www.eclipse.org/

选择 EclipseIDE for Java Developers

·       Notepad++ : Notepad++是在微软视窗环境之下的一个免费的代码编辑器,下载地址: http://notepad-plus-plus.org/

·       Netbeans:开源免费的java IDE,下载地址: http://www.netbeans.org/index.html


使用 Eclipse 运行第一个 Java程序

视频演示如下所示:

HelloWorld.java 文件代码:

publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("Hello World");}}

 Java 简介

Java基础语法 

 笔记列表

1.            Vocsal

  105***3520@qq.com

   参考地址

在配置环境变量中:

设置JAVA_HOME:

一是为了方便引用,比如,JDK安装在C:\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径,那么以后要使用这个路径的时候,只需输入%JAVA_HOME%即可,避免每次引用都输入很长的路径串;

二则是归一原则, JDK路径改变的时候,仅需更改JAVA_HOME的变量值即可,否则,就要更改任何用绝对路径引用JDK目录的文档,要是万一没有改全,某个程序找不到JDK,后果是可想而知的----系统崩溃!

三则是第三方软件会引用约定好的 JAVA_HOME变量,不然, 你不能正常使用该软件。

在系统环境变量那一栏中点 ->新建 JAVA_HOMEJAVA_HOME指向的是JDK的安装路径)

path 变量

path 变量使得我们能够在系统中的任何地方运行java应用程序,比如 javacjavajavah等等,这就要找到我们安装 JDK的目录,

假设我们的JDK安装在 C:\jdk1.6.0目录下,那么在 C:\jdk1.6.0\bin目录下就是我们常用的 java应用程序,我们就需要把 C:\jdk1.6.0\bin这个目录加到 path环境变量里面。

classpath 变量

classpath 环境变量,是当我们在开发java程序时需要引用别人写好的类时,要让 java解释器知道到哪里去找这个类。通常,sun为我们提供了一些额外的丰富的类包,一个是 dt.jar,一个是 tools.jar,这两个 jar包都位于 C:\jdk1.6.0\lib目录下,所以通常我们都会把这两个 jar包加到我们的 classpath环境变量中 setclasspath=.;C:\jdk1.6.0\lib\tools.jar;C:\jdk1.6.0\lib\dt.jar

注意在完成配置环境变量后测试JDK是否安装成功时键入命令:java-version

Java 基础语法

一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。

·       对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

·       :类是一个模板,它描述一类对象的行为和状态。

·       方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。

·       实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。


第一个Java程序

下面看一个简单的Java程序,它将打印字符串 Hello World

实例

publicclassHelloWorld{/*第一个Java程序 *它将打印字符串 Hello World */publicstaticvoidmain(String[]args){System.out.println("Hello World");//打印 Hello World}}


运行实例 »

下面将逐步介绍如何保存、编译以及运行这个程序:

·       打开Notepad,把上面的代码添加进去;

·       把文件名保存为:HelloWorld.java

·       打开cmd命令窗口,进入目标文件所在的位置,假设是C:\

·       在命令行窗口键入 javac HelloWorld.java 按下enter键编译代码。如果代码没有错误,cmd命令提示符会进入下一行。(假设环境变量都设置好了)。

·       再键入java HelloWorld按下Enter键就可以运行程序了

你将会在窗口看到 Hello World

C : > javac HelloWorld.java
C : > java HelloWorld 
Hello World

Gif 图演示:


基本语法

编写Java程序时,应注意以下几点:

·       大小写敏感Java是大小写敏感的,这就意味着标识符Hellohello是不同的。

·       类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass

·       方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。

·       源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。

·       主方法入口:所有的Java程序由public static void main(String[]args)方法开始执行。


Java标识符

Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

关于Java标识符,有以下几点需要注意:

·       所有的标识符都应该以字母(A-Z或者a-z,美元符($)、或者下划线(_)开始

·       首字符之后可以是字母(A-Z或者a-z,美元符($)、下划线(_)或数字的任何字符组合

·       关键字不能用作标识符

·       标识符是大小写敏感的

·       合法标识符举例:age$salary_value__1_value

·       非法标识符举例:123abc-salary


Java修饰符

像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:

·       访问控制修饰符 : default, public ,protected, private

·       非访问控制修饰符 : final, abstract, strictfp

在后面的章节中我们会深入讨论Java修饰符。


Java变量

Java中主要有如下几种类型的变量

·       局部变量

·       类变量(静态变量)

·       成员变量(非静态变量)


Java数组

数组是储存在堆上的对象,可以保存多个同类型变量。在后面的章节中,我们将会学到如何声明、构造以及初始化一个数组。


Java枚举

Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的bug

例如,我们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不允许顾客点除了这三种尺寸外的果汁。

实例

classFreshJuice{enumFreshJuiceSize{SMALL,MEDIUM , LARGE}FreshJuiceSizesize;}publicclassFreshJuiceTest{publicstaticvoidmain(String[]args){FreshJuicejuice = newFreshJuice();juice.size =FreshJuice.FreshJuiceSize.MEDIUM ;}}

注意:枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。


Java关键字

下面列出了Java保留字。这些保留字不能用于常量、变量、和任何标识符的名称。

关键字

描述

abstract

抽象方法,抽象类的修饰符

assert

断言条件是否满足

boolean

布尔数据类型

break

跳出循环或者label代码段

byte

8-bit 有符号数据类型

case

switch语句的一个条件

catch

和try搭配捕捉异常信息

char

16-bit Unicode字符数据类型

class

定义类

const

未使用

continue

不执行循环体剩余部分

default

switch语句中的默认分支

do

循环语句,循环体至少会执行一次

double

64-bit双精度浮点数

else

if条件不成立时执行的分支

enum

枚举类型

extends

表示一个类是另一个类的子类

final

表示一个值在初始化之后就不能再改变了
表示方法不能被重写,或者一个类不能有子类

finally

为了完成执行的代码而设计的,主要是为了程序的健壮性和完整性,无论有没有异常发生都执行代码。

float

32-bit单精度浮点数

for

for循环语句

goto

未使用

if

条件语句

implements

表示一个类实现了接口

import

导入类

instanceof

测试一个对象是否是某个类的实例

int

32位整型数

interface

接口,一种抽象的类型,仅有方法和常量的定义

long

64位整型数

native

表示方法用非java代码实现

new

分配新的类实例

package

一系列相关类组成一个包

private

表示私有字段,或者方法等,只能从类内部访问

protected

表示字段只能通过类或者其子类访问
子类或者在同一个包内的其他类

public

表示共有属性或者方法

return

方法返回值

short

16位数字

static

表示在类级别定义,所有实例共享的

strictfp

浮点数比较使用严格的规则

super

表示基类

switch

选择语句

synchronized

表示同一时间只能由一个线程访问的代码块

this

表示调用当前实例
或者调用另一个构造函数

throw

抛出异常

throws

定义方法可能抛出的异常

transient

修饰不要序列化的字段

try

表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码

void

标记方法不返回任何值

volatile

标记字段可能会被多个线程同时访问,而不做同步

while

while循环


Java注释

类似于C/C++Java也支持单行以及多行注释。注释中的字符将被Java编译器忽略。

publicclassHelloWorld{/*这是第一个Java程序 *它将打印Hello World *这是一个多行注释的示例 */publicstaticvoidmain(String[]args){//这是单行注释的示例/*这个也是单行注释的示例 */System.out.println("Hello World");}}


Java 空行

空白行,或者有注释的行,Java编译器都会忽略掉。


继承

Java中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。

利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(subclass)。


接口

Java中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。

接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。


Java 源程序与编译型运行区别

如下图所示:

下一节介绍Java编程中的类和对象。之后你将会对Java中的类和对象有更清楚的认识。

 Java开发环境配置

Java对象和类 

 笔记列表

1.            Android

  297***4077@qq.com

标识符可以用来标识变量名、类名、类中的方法名和文件名等。

命名规则:

o    (1)由字母、数字、下划线、$组成,不能以数字开头。

o    (2)大小写敏感。

o    (3)不得使用java中的关键字和保留字。

关键字:都是小写的,jdk1.2多了strictfp(经准浮点型),关键字 jdk1.4多了assert(断言)关键字,jdk1.5多了enum(枚举)关键字。

truefalsenull严格说不应该算关键字,应称其为保留字更合适。

习惯:

o    (1)标识符要符合语义信息。

o    (2)包名所有字母小写。

o    (3)类名每个单词首字母大写,其它小写,如:TarenaStudent

o    (4)变量和方法:第一个单词小写,从第二个单词开始首字母大写,如:tarenaStudent

o    (5)常量:所有字母大写,每个单词之间用 _ 连接。

常用的转义字符:

"\b" (退格)
"\f" (换页)
"\n" (回车)
"\r" (换行)
"\t" (水平制表符(到下一个tab位置))
"\' " (单引号)
"\" " (双引号) 
"\\" (反斜杠)

Java 对象和类

Java作为一种面向对象语言。支持以下基本概念:

·       多态

·       继承

·       封装

·       抽象

·       

·       对象

·       实例

·       方法

·       重载

本节我们重点研究对象和类的概念。

·       对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

·       :类是一个模板,它描述一类对象的行为和状态。

下图中男孩女孩为类,而具体的每个人为该类的对象:


Java中的对象

现在让我们深入了解什么是对象。看看周围真实的世界,会发现身边有很多对象,车,狗,人等等。所有这些对象都有自己的状态和行为。

拿一条狗来举例,它的状态有:名字、品种、颜色,行为有:叫、摇尾巴和跑。

对比现实对象和软件对象,它们之间十分相似。

软件对象也有状态和行为。软件对象的状态就是属性,行为通过方法体现。

在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成。

Java中的类

类可以看成是创建Java对象的模板。

通过下面一个简单的类来理解下Java中类的定义:

publicclassDog{Stringbreed;intage;Stringcolor;voidbarking(){}voidhungry(){}voidsleeping(){}}

一个类可以包含以下类型变量:

·       局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

·       成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。

·       类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。

一个类可以拥有多个方法,在上面的例子中:barking()hungry()sleeping()都是Dog类的方法。


构造方法

每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。

在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。

下面是一个构造方法示例:

publicclassPuppy{publicPuppy(){}publicPuppy(Stringname){//这个构造器仅有一个参数:name}}


创建对象

对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:

·       声明:声明一个对象,包括对象名称和对象类型。

·       实例化:使用关键字new来创建一个对象。

·       初始化:使用new创建对象时,会调用构造方法初始化对象。

下面是一个创建对象的例子:

publicclassPuppy{publicPuppy(Stringname){//这个构造器仅有一个参数:nameSystem.out.println("小狗的名字是 : " + name);}publicstaticvoidmain(String[]args){//下面的语句将创建一个Puppy对象PuppymyPuppy =newPuppy("tommy");}}

编译并运行上面的程序,会打印出下面的结果:

小狗的名字是 : tommy


访问实例变量和方法

通过已创建的对象来访问成员变量和成员方法,如下所示:

/* 实例化对象 */ObjectReference =newConstructor();/*访问其中的变量 */ObjectReference.variableName;/*访问类中的方法 */ObjectReference.MethodName();


实例

下面的例子展示如何访问实例变量和调用成员方法:

publicclassPuppy{intpuppyAge;publicPuppy(Stringname){//这个构造器仅有一个参数:nameSystem.out.println("小狗的名字是 : " + name);}publicvoidsetAge(intage){puppyAge = age; }publicintgetAge(){System.out.println("小狗的年龄为 : " + puppyAge);returnpuppyAge;}publicstaticvoidmain(String[]args){/*创建对象 */PuppymyPuppy =newPuppy("tommy");/*通过方法来设定age */myPuppy.setAge(2);/*调用另一个方法获取age */myPuppy.getAge();/*你也可以像下面这样访问成员变量 */System.out.println("变量值 : " + myPuppy.puppyAge);}}

编译并运行上面的程序,产生如下结果:

小狗的名字是 : tommy

小狗的年龄为 : 2

变量值 : 2


源文件声明规则

在本节的最后部分,我们将学习源文件的声明规则。当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则。

·       一个源文件中只能有一个public

·       一个源文件可以有多个非public

·       源文件的名称应该和public类的类名保持一致。例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java

·       如果一个类定义在某个包中,那么package语句应该在源文件的首行。

·       如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面。

·       import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。

类有若干种访问级别,并且类也分不同的类型:抽象类和final类等。这些将在访问控制章节介绍。

除了上面提到的几种类型,Java还有一些特殊的类,如:内部类、匿名类。


Java

包主要用来对类和接口进行分类。当开发Java程序时,可能编写成百上千的类,因此很有必要对类和接口进行分类。

Import语句

Java中,如果给出一个完整的限定名,包括包名、类名,那么Java编译器就可以很容易地定位到源代码或者类。Import语句就是用来提供一个合理的路径,使得编译器可以找到某个类。

例如,下面的命令行将会命令编译器载入java_installation/java/io路径下的所有类

import java.io.*;


一个简单的例子

在该例子中,我们创建两个类:Employee  EmployeeTest

首先打开文本编辑器,把下面的代码粘贴进去。注意将文件保存为 Employee.java

Employee类有四个成员变量:nameagedesignationsalary。该类显式声明了一个构造方法,该方法只有一个参数。

Employee.java 文件代码:

importjava.io.*;publicclassEmployee{Stringname;intage;Stringdesignation;doublesalary;// Employee 类的构造器publicEmployee(Stringname){this.name = name; }// 设置age的值publicvoidempAge(intempAge){age = empAge; }/* 设置designation的值*/publicvoidempDesignation(StringempDesig){designation = empDesig; }/* 设置salary的值*/publicvoidempSalary(doubleempSalary){salary = empSalary; }/* 打印信息 */publicvoidprintEmployee(){System.out.println("名字:"+name);System.out.println("年龄:" + age);System.out.println("职位:" + designation);System.out.println("薪水:" + salary);}}

程序都是从main方法开始执行。为了能运行这个程序,必须包含main方法并且创建一个实例对象。

下面给出EmployeeTest类,该类实例化2 Employee类的实例,并调用方法设置变量的值。

将下面的代码保存在 EmployeeTest.java文件中。

EmployeeTest.java文件代码:

importjava.io.*;publicclassEmployeeTest{publicstaticvoidmain(Stringargs[]){/*使用构造器创建两个对象 */EmployeeempOne =newEmployee("RUNOOB1");EmployeeempTwo =newEmployee("RUNOOB2");//调用这两个对象的成员方法empOne.empAge(26);empOne.empDesignation("高级程序员");empOne.empSalary(1000);empOne.printEmployee();empTwo.empAge(21);empTwo.empDesignation("菜鸟程序员");empTwo.empSalary(500);empTwo.printEmployee();}}

编译这两个文件并且运行 EmployeeTest类,可以看到如下结果:

$ javac EmployeeTest.java

$ java EmployeeTest

名字:RUNOOB1

年龄:26

职位:高级程序员

薪水:1000.0

名字:RUNOOB2

年龄:21

职位:菜鸟程序员

薪水:500.0

 Java 基础语法

Java 基本数据类型 

 笔记列表

1.            stinkaroo

  190***276@qq.com

java因强制要求类名(唯一的public类)和文件名统一,因此在引用其它类时无需显式声明。在编译时,编译器会根据类名去寻找同名文件。

stinkaroo

   stinkaroo

  190***276@qq.com

4个月前(05-08)

2.           LadyLeane

  q-b***sn.com

package 的作用就是 c++ namespace的作用,防止名字相同的类产生冲突。Java编译器在编译时,直接根据 package指定的信息直接将生成的 class文件生成到对应目录下。如 package aaa.bbb.ccc 编译器就将该 .java 文件下的各个类生成到 ./aaa/bbb/ccc/ 这个目录。

import 是为了简化使用 package之后的实例化的代码。假设 ./aaa/bbb/ccc/ 下的 A 类,假如没有 import,实例化A类为:new aaa.bbb.ccc.A(),使用 import aaa.bbb.ccc.A 后,就可以直接使用 new A() 了,也就是编译器匹配并扩展了 aaa.bbb.ccc. 这串字符串

 

JSP 教程

JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。

JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。

JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。

JSP文件后缀名为 *.jsp 。

JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows 上。


第一个 JSP 程序

语言学习入门的第一个程序一般都是输出 "Hello World",JSP输出 "Hello World" 代码如下所示:

<html>    <head>           <title>第一个 JSP 程序</title>    </head>    <body>           <%                  out.println("Hello World!");           %>    </body></html>

开始学习 JSP

了解了 JSP 的基本概念后,现在让我们开始来学习 JSP吧。

原创粉丝点击