收藏 分销(赏)

Java基础.ppt

上传人:精*** 文档编号:1887449 上传时间:2024-05-11 格式:PPT 页数:308 大小:2.81MB
下载 相关 举报
Java基础.ppt_第1页
第1页 / 共308页
Java基础.ppt_第2页
第2页 / 共308页
Java基础.ppt_第3页
第3页 / 共308页
Java基础.ppt_第4页
第4页 / 共308页
Java基础.ppt_第5页
第5页 / 共308页
点击查看更多>>
资源描述

1、第一章 Java语言概述Java 基础知识培训基础知识培训Java 基础培训基础培训基础培训基础培训主要内容提要JavaJava程序的开发环境程序的开发环境JavaJava程序相关问题程序相关问题 JavaJava语言的主要特性语言的主要特性JavaJava语言的发展历史语言的发展历史 JavaJava程序的开发过程程序的开发过程 Java 基础培训基础培训基础培训基础培训Java语言的发展历史InternetInternet迅猛发展迅猛发展JavaJava语言正式问世语言正式问世被美国著名杂志被美国著名杂志PC PC MagazineMagazine评为评为19951995年十大优年十大优秀

2、科技产品之一秀科技产品之一James GoslingJames Gosling领导的领导的GreenGreen小小组开发了面向数组开发了面向数字家电的字家电的OakOak语语言言推出了推出了Java2Java2平平台。性能上有所台。性能上有所提高,而且对提高,而且对JavaJava的基本模式的基本模式进行了完善,并进行了完善,并提供了更为丰富提供了更为丰富的的APIAPI 199119951998Java 基础培训基础培训基础培训基础培训Java2 的版本划分Java2Java2J2MEJ2MEJ2SEJ2SEJ2EEJ2EEJava 基础培训基础培训基础培训基础培训Java语言的主要特性平台

3、无关性平台无关性简单性简单性面向对象面向对象 分布式、动态性、分布式、动态性、可靠性、安全性可靠性、安全性 多线程多线程Java 基础培训基础培训基础培训基础培训Java程序相关问题Java虚拟机JavaJava虚拟机虚拟机在真实机器中用软件模拟实现在真实机器中用软件模拟实现的一种抽象的机器。(的一种抽象的机器。(JavaJava虚拟机规范)虚拟机规范)JavaJava虚拟机主要由五个部分组成:指令系统、虚拟机主要由五个部分组成:指令系统、寄存器、栈、存储区、碎片回收区寄存器、栈、存储区、碎片回收区 解释和执行解释和执行JavaJava程序编译后产生的字节码程序编译后产生的字节码 Java 基

4、础培训基础培训基础培训基础培训Java程序相关问题Java APIJava APIJava API是是JavaJava系统提供的预先定义好的软件组件的集系统提供的预先定义好的软件组件的集合,它们提供了许多可供程序员调用的常用功能合,它们提供了许多可供程序员调用的常用功能丰富的丰富的APIAPI为程序员提供了极大的方便,但也是学习的难为程序员提供了极大的方便,但也是学习的难点点 要学会使用要学会使用Java APIJava API手册手册(The JavaThe Java2 Platform API 2 Platform API SpecificationSpecification)Java 基

5、础培训基础培训基础培训基础培训Java程序相关问题 Java程序的运行机制操作系统操作系统源代码可执行代码目标码编译连接运行源代码字节码编译解释执行J Javaava解释器解释器传统语言的运行机制Java语言的运行机制Java 基础培训基础培训基础培训基础培训Java程序相关问题Java程序类型 JavaJava应用程序(应用程序(Java ApplicationJava Application)是独立完整的程序是独立完整的程序在命令行调用独立的解释器软件即可运行在命令行调用独立的解释器软件即可运行主类必须有主类必须有mainmain方法,这也是程序的入口方法,这也是程序的入口 Java Ja

6、va小程序小程序Java AppletJava Applet是指在客户端运行的是指在客户端运行的JavaJava小程序,一小程序,一般来说客户端是指用户所使用的浏览器般来说客户端是指用户所使用的浏览器 Java ServletJava Servlet是在服务器端执行的是在服务器端执行的JavaJava小程序,小程序,为了能够支持为了能够支持ServletServlet的运行,服务器端必须安装包含的运行,服务器端必须安装包含JavaJava虚拟机的服务器软件,这种能够支持服务端小程虚拟机的服务器软件,这种能够支持服务端小程序的服务器一般被称为应用服务器序的服务器一般被称为应用服务器 Java 基

7、础培训基础培训基础培训基础培训Java开发环境JDK/J2SDKJDK/J2SDK(Java Developer KitJava Developer Kit)JDK1.02JDK1.02JDK1.1.xJDK1.1.xJDK1.2/J2SDK1.3/J2SDK1.4/JDK5.0(J2SDK1.5)JDK1.2/J2SDK1.3/J2SDK1.4/JDK5.0(J2SDK1.5)JavaJava集成开发环境(集成开发环境(IDEIDE)NetBeansNetBeansJBuilderJBuilderEclipseEclipseJCreatorJCreatorForte for JavaFort

8、e for JavaVisual J+Visual J+WSAD WSAD Java 基础培训基础培训基础培训基础培训JDK的安装与设置从可以下载相关版从可以下载相关版 本的本的JDKJDK(本课程采用(本课程采用J2SDK1.3J2SDK1.3以上版本)以上版本)在在WindowsWindows平台上运行安装程序,以安装平台上运行安装程序,以安装JDKJDK设置设置PATHPATH(文件路径)参数。由于(文件路径)参数。由于JDKJDK提供的实用提供的实用程序都在安装目录下的子目录程序都在安装目录下的子目录binbin下,为了能在任下,为了能在任何目录下直接使用文件名调用这些程序,必须设何目

9、录下直接使用文件名调用这些程序,必须设置操作系统的文件路径参数置操作系统的文件路径参数 Java 基础培训基础培训基础培训基础培训环境设置在Windows环境下,为了快速进入指定目录的命令行窗口,可在注册表中增加项目:HKEY_CLASSES_ROOTDirectoryshell进入命令行command默认值设为:cmd /k cd%1Java 基础培训基础培训基础培训基础培训JDK的目录结构binbin目录中包含了所有目录中包含了所有JDK5.0JDK5.0提提供的实用程序供的实用程序demodemo目录中包含了目录中包含了JDK5.0JDK5.0自带的自带的实例程序实例程序inculdei

10、nculde目录中包含了一些支持目录中包含了一些支持Java nativeJava native方法的方法的CC+CC+头文件头文件jrejre目录中包含了目录中包含了JavaJava运行环境运行环境所需的所有文件,这个目录中所包所需的所有文件,这个目录中所包含的含的javajava运行环境是运行环境是JDKJDK私有的,私有的,它只为它只为JDKJDK的实用程序提供支持的实用程序提供支持liblib目录中包含了目录中包含了JavaJava开发环境开发环境所需的库文件,它们以所需的库文件,它们以jarjar文件的文件的形式保存形式保存samplesample目录中包含的是体现目录中包含的是体现

11、JDK5.0JDK5.0新特性的一些例程新特性的一些例程 Java 基础培训基础培训基础培训基础培训JDK实用程序简介javacjavac:JavaJava编译器,将编译器,将JavaJava源代码编译为字节码;源代码编译为字节码;javajava:JavaJava解释器,用来解释执行解释器,用来解释执行JavaJava程序的字节码文件;程序的字节码文件;appletviewer(appletviewer(小程序浏览器小程序浏览器):一种执行:一种执行HTMLHTML文件上的文件上的JavaJava小程序类的小程序类的JavaJava浏览器;浏览器;javadocjavadoc:根据:根据Ja

12、vaJava源代码及其说明语句生成的源代码及其说明语句生成的HTMLHTML文档;文档;jdbjdb:JavaJava调试器,可以逐行地执行程序、设置断点和检调试器,可以逐行地执行程序、设置断点和检查变量;查变量;javahjavah:产生可以调用:产生可以调用JavaJava过程的过程的C C过程,或建立能被过程,或建立能被JavaJava程序调用的程序调用的C C过程的头文件;过程的头文件;javapjavap:JavaJava反汇编器,显示编译类文件中的可访问功能反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。和数据,同时显示字节代码含义。Java 基础培训基础培训基

13、础培训基础培训Java程序的开发过程 编辑源代码编辑源代码 编译源代码文件编译源代码文件运行程序运行程序 Java 基础培训基础培训基础培训基础培训Java程序的开发过程编辑源代码一般情况下,我们可以使用系统平台下的任何文本编辑器一般情况下,我们可以使用系统平台下的任何文本编辑器进行源代码的编辑,在进行源代码的编辑,在WindowsWindows平台下常用的是平台下常用的是WindowWindow系系统自带的统自带的“记事本记事本”程序或程序或“写字板写字板”程序程序 JavaJava源码大小写敏感源码大小写敏感JavaJava源码文件的扩展名:源码文件的扩展名:.java.javaJavaJ

14、ava源程序文件也不能随意命名,其文件名必须与程序中源程序文件也不能随意命名,其文件名必须与程序中主类的类名完全相同,包括大小写在内主类的类名完全相同,包括大小写在内 publicclassMyFirstJavaApppublicstaticvoidmain(Stringargs)System.out.println(“ThisisMyFirstJavaApplication!”);Java 基础培训基础培训基础培训基础培训Java程序的开发过程编译源代码使用使用JDKJDK实用程序实用程序javacjavac对源代码文件进行编译对源代码文件进行编译C:MyJavajavac MyFirstJ

15、avaApp.java如果系统提示符再次出现并且没有任何消息产生,那如果系统提示符再次出现并且没有任何消息产生,那么编译便成功了么编译便成功了如果有系统报错消息产生,则表示程序编译出错,程如果有系统报错消息产生,则表示程序编译出错,程序员必须阅读报错信息,并根据这些信息对程序进行序员必须阅读报错信息,并根据这些信息对程序进行修改修改程序成功编译后,在与源代码文件同一目录下会程序成功编译后,在与源代码文件同一目录下会生成一个新的文件,其文件名与源代码文件名相生成一个新的文件,其文件名与源代码文件名相同,扩展名为同,扩展名为“.class.class”。这个文件就是源代码文。这个文件就是源代码文件

16、编译产生的程序字节码文件件编译产生的程序字节码文件 MyFirstJava.classJava 基础培训基础培训基础培训基础培训Java程序的开发过程运行程序 要执行一个要执行一个JavaJava程程序非常简单,只需序非常简单,只需在字节码文件所在在字节码文件所在目录下输入下列命目录下输入下列命令就可以了令就可以了:java java 字节码文件名字节码文件名Question?Question?第2章 面向对象的编程概念Java 基础培训基础培训基础培训基础培训主要内容提要什么是接口什么是接口什么是继承什么是继承什么是类什么是类什么是消息什么是消息什么是对象什么是对象Java 基础培训基础培训

17、基础培训基础培训面向对象 vs.面向过程面向对象(面向对象(OOPOOP)Object-Oriented Object-Oriented ProgrammingProgramming用类用类classclass封装数据以及与数据相关的操作封装数据以及与数据相关的操作用类的继承性来实现类的重用性用类的继承性来实现类的重用性多态性多态性面向面向“对象对象”,由对象提供服务,由对象提供服务面向过程(面向过程(POPPOP)Procedure-Oriented Procedure-Oriented ProgrammingProgramming以功能为组织单元以功能为组织单元通过数据结构来描述具体的问题

18、通过数据结构来描述具体的问题数据在功能数据在功能(函数函数)之间以参数的形式被传送之间以参数的形式被传送Java 基础培训基础培训基础培训基础培训现实世界中的对象现实世界是由对象构成的现实世界是由对象构成的现实世界中任何实体都可以看作是对象现实世界中任何实体都可以看作是对象 现实世界中的对象有两个共同特征:现实世界中的对象有两个共同特征:状态状态行为行为 Java 基础培训基础培训基础培训基础培训软件对象(Object)软件对象是现实世界对象的抽象软件对象是现实世界对象的抽象软件对象同样具有状态和行为软件对象同样具有状态和行为定义:对象是变量和相关方法的软件组合定义:对象是变量和相关方法的软件

19、组合变量变量方法方法Java 基础培训基础培训基础培训基础培训现实对象软件对象方法方法叫叫咬咬吃吃是否饿了:是否饿了:否否名字:小名字:小Q颜色:黑颜色:黑Java 基础培训基础培训基础培训基础培训封装(Encapsulation)封装性体现了面向对象程序设计的一个特性,将封装性体现了面向对象程序设计的一个特性,将方法和数据组织在一起,隐藏其具体实现而对外方法和数据组织在一起,隐藏其具体实现而对外体现出公共的接口体现出公共的接口模块化模块化隐藏信息隐藏信息变量变量方法方法Java 基础培训基础培训基础培训基础培训消息(Message)复杂的行为必须通过对象之间的交互来实现复杂的行为必须通过对象

20、之间的交互来实现软件对象与其它对象进行交互与通讯是通过互发软件对象与其它对象进行交互与通讯是通过互发消息来实现的消息来实现的 对象B对象 A消息Java 基础培训基础培训基础培训基础培训消息的组成消息的目的对象消息的目的对象要执行的方法的名称要执行的方法的名称方法所需参数方法所需参数你的车你的车你你换档(低档)换档(低档)Java 基础培训基础培训基础培训基础培训消息的性质同一对象可接收不同形式的多个消息,产生不同同一对象可接收不同形式的多个消息,产生不同的响应的响应同一个消息可以发给不同的对象,所做出的响应同一个消息可以发给不同的对象,所做出的响应可以截然不同可以截然不同发送方不需要知道接受

21、方如何对请求予以响应的发送方不需要知道接受方如何对请求予以响应的Java 基础培训基础培训基础培训基础培训类(Class)定义定义:类是蓝图或原型,它定义了所有某种类的:类是蓝图或原型,它定义了所有某种类的对象的共有的变量和方法对象的共有的变量和方法类是具有共同属性和行为的对象的抽象与集合类是具有共同属性和行为的对象的抽象与集合私有的实现细节私有的实现细节公共公共APIJava 基础培训基础培训基础培训基础培训实例(Instance)定义:定义:特定类所描述的一个特定类所描述的一个具体具体对象对象Java 基础培训基础培训基础培训基础培训对象、类与实体的关系对象类计算机逻辑的实现映射计算机世界

22、实例化抽象实体抽象数据类现实世界概念世界抽象Java 基础培训基础培训基础培训基础培训继承(Inheritance)广义地说,继承是指能够直接获得已有的性质和特广义地说,继承是指能够直接获得已有的性质和特性,而不必重复定义它们。在面向对象的软件技术性,而不必重复定义它们。在面向对象的软件技术中,继承是子类自动地共享父类中定义的数据和方中,继承是子类自动地共享父类中定义的数据和方法的机制。法的机制。共性部分继承部分个性部分父类子类Java 基础培训基础培训基础培训基础培训单重继承与多重继承单重继承:一个子类只有一个唯一确定的父类单重继承:一个子类只有一个唯一确定的父类单重继承所构成的类的关系结构

23、是一棵树单重继承所构成的类的关系结构是一棵树多重继承:一个子类可以有多个不同的父类多重继承:一个子类可以有多个不同的父类多重继承所构成的类的关系结构是一个格多重继承所构成的类的关系结构是一个格JavaJava语言仅支持单重继承语言仅支持单重继承Java 基础培训基础培训基础培训基础培训继承的作用使软件系统具有开放性使软件系统具有开放性更好地进行抽象与分类更好地进行抽象与分类实现代码的复用实现代码的复用提高可维护性提高可维护性Java 基础培训基础培训基础培训基础培训类型(Type)在面向数值的编程中,类型通常用作数据的表示。在面向数值的编程中,类型通常用作数据的表示。在在JavaJava这样的

24、强类型语言中,在编译期,每一个这样的强类型语言中,在编译期,每一个变量和表达式都有一个类型与之相对应变量和表达式都有一个类型与之相对应JavaJava中的类型:基本类型、类、接口中的类型:基本类型、类、接口Java 基础培训基础培训基础培训基础培训接口(Interface)接口和类一样也是一种类型,也同样包含一些方接口和类一样也是一种类型,也同样包含一些方法的定义。但与类不同的是:接口中所定义的所法的定义。但与类不同的是:接口中所定义的所有方法都是有方法都是抽象方法抽象方法(即没有实现的方法)。(即没有实现的方法)。接口中所定义的方法由实现(接口中所定义的方法由实现(implementimpl

25、ement)该接口)该接口的类来实现,一个类可以同时实现多个接口的类来实现,一个类可以同时实现多个接口接口机制使接口机制使JavaJava的面向对象编程变得更加灵活。的面向对象编程变得更加灵活。解决了单重继承带来的问题解决了单重继承带来的问题接口定义了对象的行为模型,相当于一个协议。接口定义了对象的行为模型,相当于一个协议。实现接口的各个类负责实现接口所定义的行为。实现接口的各个类负责实现接口所定义的行为。虽然实现细节各不相同,但对用户来说是一样的虽然实现细节各不相同,但对用户来说是一样的行为。行为。Java 基础培训基础培训基础培训基础培训面向对象的示例本例中包含很多对象:点、窗口、颜色、点

26、击事件本例中包含很多对象:点、窗口、颜色、点击事件 代码:代码:ClickMeApp.java ClickMeApp.java,ClickMe.javaClickMe.java,Spot.java Spot.java Java 基础培训基础培训基础培训基础培训Spot类publicclassSpot/instancevariablesprivateintsize;publicintx,y;/constructorpublicSpot()x=-1;y=-1;size=1;/methodsforaccesstothesizeinstancevariablepublicvoidsetSize(int

27、newSize)if(newSize=0)size=newSize;publicintgetSize()returnsize;Java 基础培训基础培训基础培训基础培训Spot对象privateSpotspot=null;.spot=newSpot();Java 基础培训基础培训基础培训基础培训示例中的消息g2d.setColor(Color.WHITE);g2d.fillRect(0,0,getWidth()-1,getHeight()-1);Java 基础培训基础培训基础培训基础培训示例中的继承和接口publicclassClickMeextendsJComponentimplements

28、MouseListener.publicclassClickMeextendsJComponentimplementsMouseListener./MethodsrequiredbytheMouseListenerinterface.publicvoidmousePressed(MouseEventevent)if(spot=null)spot=newSpot();spot.setSize(RADIUS);spot.x=event.getX();spot.y=event.getY();repaint();publicvoidmouseClicked(MouseEventevent)public

29、voidmouseReleased(MouseEventevent)publicvoidmouseEntered(MouseEventevent)publicvoidmouseExited(MouseEventevent)欢迎提问欢迎提问Question!Question!第三章 Java语言基础Java 基础培训基础培训基础培训基础培训变量(Variable)对象将它的状态存储在变量中对象将它的状态存储在变量中定义定义:变量是一个由标识符命名的数据项变量是一个由标识符命名的数据项 变量名必须是一个合法的变量名必须是一个合法的标识符标识符 -一个以字母一个以字母开头的无限制的开头的无限制的Un

30、icodeUnicode字符序列。字符序列。变量的声明:变量的声明:类型类型类型类型 名称名称名称名称=初始值初始值初始值初始值 ;int i;int i;double pi=3.1415926;double pi=3.1415926;String name;String name;Java 基础培训基础培训基础培训基础培训数据类型 每个变量都必须有一个数据类型每个变量都必须有一个数据类型.一个变量的数一个变量的数据类型决定了它能容纳的值和在它上面可以进行据类型决定了它能容纳的值和在它上面可以进行什么操作。什么操作。JavaJava编程语言有两大类数据类型:编程语言有两大类数据类型:原始类型原

31、始类型(primitive(primitive)引用类(引用类(reference)reference)Java 基础培训基础培训基础培训基础培训Java的数据类型Javatypesystemprimitivereferencecharnumericbooleanclassinterfacearrayintegerfloating-pointbyteshortintlongfloatdoubleJavatypesystemprimitivereferencecharnumericbooleanclassinterfacearrayintegerfloating-pointbyteshortin

32、tlongfloatdoubleJava 基础培训基础培训基础培训基础培训原始类型 原始类型变量包含单个值,其大小和格式与它的原始类型变量包含单个值,其大小和格式与它的类型匹配:数字、字符或布尔值。类型匹配:数字、字符或布尔值。JavaJava语言没有语言没有unsignedunsigned类型类型0 xFFFF0 xFFFF和和0 xFF0 xFF谁大?谁大?JavaJava语言必须强制类型转换语言必须强制类型转换float f=0.1;float f=0.1;boolean b=1;boolean b=1;Java 基础培训基础培训基础培训基础培训引用类型数组,类和接口就是引用数据类型数组

33、,类和接口就是引用数据类型.与原始类型变与原始类型变量的值不同的是,量的值不同的是,引用类型变量的值是对应变量引用类型变量的值是对应变量代表的一个值或一组值的引用(也就是其地址)代表的一个值或一组值的引用(也就是其地址)在其他语言里引用被称为指针或者内存地址。在其他语言里引用被称为指针或者内存地址。JavaJava不支持显示地使用地址,而是使用变量的名不支持显示地使用地址,而是使用变量的名称代替。称代替。Java 基础培训基础培训基础培训基础培训变量的引用 通过变量名引用变量的值通过变量名引用变量的值简单名称:由单个标识符组成的名称简单名称:由单个标识符组成的名称限定名称:通过类名或对象名引用

34、限定名称:通过类名或对象名引用该该类或对象中类或对象中的成员变量的成员变量System.out.println(i+spot.x);System.out.println(i+spot.x);Java 基础培训基础培训基础培训基础培训作用范围 变量的作用范围是可以通过简单名称引用该变量变量的作用范围是可以通过简单名称引用该变量的程序区域的程序区域作用范围也决定了系统为该变量创建和释放内存作用范围也决定了系统为该变量创建和释放内存的时间的时间Java 基础培训基础培训基础培训基础培训例子 int i=10;if(i 0)int i=20;System.out.println(“The value

35、of i=”+i);System.out.println(“The value of i=”+i);Java 基础培训基础培训基础培训基础培训最终变量 你可以在任意范围里将一个变量定义为最终变量你可以在任意范围里将一个变量定义为最终变量(finalfinal)最终变量的值一经初始化就不能改变最终变量的值一经初始化就不能改变类似于类似于C C语言中的常量语言中的常量(const)(const)finalintaFinalVar=0;finalintblankfinal;.blankfinal=0;Java 基础培训基础培训基础培训基础培训操作符、表达式、语句和块自学!自学!第四章 对象基础和简单

36、数据对象Java 基础培训基础培训基础培训基础培训主要内容数组数组数字数字字符和字符串字符和字符串对象的生存周期对象的生存周期Java 基础培训基础培训基础培训基础培训对象的生命周期Java 基础培训基础培训基础培训基础培训CreateObjectDeompublicclassCreateObjectDemopublicstaticvoidmain(Stringargs)/创建一个创建一个Point对象和两个对象和两个Rectangle对象对象Pointorigin_one=newPoint(23,94);Rectanglerect_one=newRectangle(origin_one,10

37、0,200);Rectanglerect_two=newRectangle(50,100);/显示显示rect_one的宽、高以及面积的宽、高以及面积System.out.println(Widthofrect_one:+rect_one.width);System.out.println(Heightofrect_one:+rect_one.height);System.out.println(Areaofrect_one:+rect_one.area();rect_two.origin=origin_one;/设置设置rect_tworect_two的位置的位置/显示显示rect_two的

38、位置的位置System.out.println(XPositionofrect_two:+rect_two.origin.x);System.out.println(YPositionofrect_two:+rect_two.origin.y);/移动移动rect_two并且显示它的新位置并且显示它的新位置rect_two.move(40,72);System.out.println(XPositionofrect_two:+rect_two.origin.x);System.out.println(YPositionofrect_two:+rect_two.origin.y);Java 基础

39、培训基础培训基础培训基础培训对象的创建类型名类型名 引用变量引用变量=new =new 构造器构造器(构造器的参数构造器的参数)Java 基础培训基础培训基础培训基础培训声明一个变量来引用对象为了声明一个变量来引用对象,你可以使用类或为了声明一个变量来引用对象,你可以使用类或者接口的名字作为变量的类型者接口的名字作为变量的类型声明并没有创建新对象声明并没有创建新对象。在对该引用变量赋值前,。在对该引用变量赋值前,该引用为空该引用为空,称为空引用称为空引用(null)(null)类型名类型名 引用变量引用变量=new =new 构造器构造器(构造器的参数构造器的参数)Pointorigin_on

40、eJava 基础培训基础培训基础培训基础培训实例化对象newnew操作符通过为新对象分配内存来实例化一个类操作符通过为新对象分配内存来实例化一个类newnew操作符需要一个后缀参数,即操作符需要一个后缀参数,即构造器构造器的一个调的一个调用用newnew操作符返回一个对它所创建对象的引用,通常操作符返回一个对它所创建对象的引用,通常该引用被赋值给具有适当类型的引用变量该引用被赋值给具有适当类型的引用变量如果如果newnew操作符返回的引用没有被赋给任何变量,那么操作符返回的引用没有被赋给任何变量,那么当当newnew操作符所在的语句执行完后,将无法访问该对象操作符所在的语句执行完后,将无法访问

41、该对象类型名类型名 引用变量引用变量=new =new 构造器构造器(构造器的参数构造器的参数)Java 基础培训基础培训基础培训基础培训初始化对象构造器(构造器(ConstructorConstructor):):是一个用来创建对象的是一个用来创建对象的特殊方法,用来初始化对象的属性。特殊方法,用来初始化对象的属性。构造器的名字与类名相同构造器的名字与类名相同构造器没有返回值构造器没有返回值构造器所包含的语句用来对所创建的对象进行初始化构造器所包含的语句用来对所创建的对象进行初始化没有参数的构造器称为没有参数的构造器称为“无参构造器无参构造器”每个每个JavaJava类都类都至少有一个至少有

42、一个构造器,如果该类没有显式构造器,如果该类没有显式地声明任何构造器,系统会默认地为该类提供一个不地声明任何构造器,系统会默认地为该类提供一个不包含任何语句的无参构造器包含任何语句的无参构造器类型名类型名 引用变量引用变量=new =new 构造器构造器(构造器的参数构造器的参数)Java 基础培训基础培训基础培训基础培训对象创建的实例public class Point public int x=0;public int y=0;public Point(int x,int y)this.x=x;this.y=y;Point origin_one=new Point(23,94);Java

43、基础培训基础培训基础培训基础培训问 题Point origin_one=new Point(23,94);Point origin_two=new Point(23,94);oringin_one=oringin_two?Point origin_one=new Point(23,94);Point origin_two=origin_two;oringin_one=oringin_two?Java 基础培训基础培训基础培训基础培训构造器的重载(Overload)一个类可以包含多个一个类可以包含多个构造器,这种情况成构造器,这种情况成为为构造器的重载构造器的重载同一个类中的多个构同一个类中的多

44、个构造器通过参数的数目造器通过参数的数目及类型的不同来区分及类型的不同来区分publicclassRectanglepublicintwidth=0;publicintheight=0;publicPointorigin;publicRectangle()origin=newPoint(0,0);publicRectangle(Pointp)origin=p;publicRectangle(intw,inth)this(newPoint(0,0),w,h);publicRectangle(Pointp,intw,inth)origin=p;width=w;height=h;.Java 基础培训

45、基础培训基础培训基础培训对象的使用对象的使用有两种方式对象的使用有两种方式操作或者检查它的变量操作或者检查它的变量调用它的方法调用它的方法要使用对象的实例成员,首先需要得到该对象的要使用对象的实例成员,首先需要得到该对象的引用引用变量变量方法方法Java 基础培训基础培训基础培训基础培训实例成员与类成员实例成员包括实例变量与实例方法实例成员包括实例变量与实例方法实例成员依赖于实例存在实例成员依赖于实例存在同一个类的不同实例都拥有一份实例变量的拷贝,对同一个类的不同实例都拥有一份实例变量的拷贝,对某个实例的实例变量的操作不影响到其它实例某个实例的实例变量的操作不影响到其它实例实例变量遵循对象的生

46、命周期,随着对象的创建而创实例变量遵循对象的生命周期,随着对象的创建而创建,随着对象的消亡而消亡建,随着对象的消亡而消亡必须通过实例的引用来调用实例方法必须通过实例的引用来调用实例方法类成员包括类变量与类方法类成员包括类变量与类方法类成员不依赖于实例存在类成员不依赖于实例存在同一个类的不同实例共享同一个类变量,对类变量的同一个类的不同实例共享同一个类变量,对类变量的改变会影响到所有实例改变会影响到所有实例类变量的生存期不依赖于对象,其它类可以不用通过类变量的生存期不依赖于对象,其它类可以不用通过创建该类的实例,直接通过类名访问它们。同样,类创建该类的实例,直接通过类名访问它们。同样,类方法也可

47、以直接通过类名访问。方法也可以直接通过类名访问。Java 基础培训基础培训基础培训基础培训实例成员与类成员classABCDchardata;staticintshare_data;classDemoABCDa,b,c,d;/实例化实例化Java 基础培训基础培训基础培训基础培训实例变量的引用简单名称简单名称 当实例变量处在作用域内当实例变量处在作用域内(即对象的类的代码内即对象的类的代码内)的时候的时候 限定名称限定名称 objectReference.variableName objectReference.variableName 当实例变量处在作用域外时使用限定名称当实例变量处在作用域

48、外时使用限定名称System.out.println(Width of rect_one:+rect_one.width);System.out.println(Height of rect_one:+rect_one.height);int height=new Rectangle().height;Java 基础培训基础培训基础培训基础培训关于变量访问的说明建议不要通过其它对象或类直接操作对象的变量建议不要通过其它对象或类直接操作对象的变量,可能引起无效值可能引起无效值理想情况下理想情况下,类会提供一些方法类会提供一些方法,其他对象可以通其他对象可以通过他们检查或修改变量,确保值有效,而且

49、如果过他们检查或修改变量,确保值有效,而且如果变量的类型和名称发生了变化,不会影响它的使变量的类型和名称发生了变化,不会影响它的使用者用者在某些情况下,可以允许对对象变量的直接访问,在某些情况下,可以允许对对象变量的直接访问,以使类更小更简单,也可使变量适用于更广泛范以使类更小更简单,也可使变量适用于更广泛范围;围;JAVAJAVA编程语言提供了一个访问控制机制,通过这编程语言提供了一个访问控制机制,通过这种机制,类可以决定那些其它的类可以直接访问种机制,类可以决定那些其它的类可以直接访问它的变量(第五章中介绍)。它的变量(第五章中介绍)。Java 基础培训基础培训基础培训基础培训调用对象的方

50、法使用限定名称来调用对象的方法使用限定名称来调用对象的方法 objectReference.methodName(argumentList);或者objectReference.methodName();System.out.println(Area of rect_one:+rect_one.area();rect_two.move(40,72);int areaOfRectangle=new Rectangle(100,50).area();Java 基础培训基础培训基础培训基础培训关于方法调用方法被声明为方法被声明为publicpublic,就可以被任何其它的类所,就可以被任何其它的类所

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服