Java语言程序设计-基本语法.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Java语言程序设计-基本语法.ppt》由会员分享,可在线阅读,更多相关《Java语言程序设计-基本语法.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JavaJava程序设计程序设计主讲教师:周立波主讲教师:周立波2.5 数组数组 2.5.1 数组的声明数组的声明 数组声明的格式:数组声明的格式:(1)(1)数组类型数组类型 数组名数组名 (2)(2)数组类型数组类型 数组名数组名 在数组的声明中不指定数组的长度。例在数组的声明中不指定数组的长度。例如:如:int a5 的形式是错误的。的形式是错误的。2.5.2 数组的创建与初始化数组的创建与初始化 1、用、用new关键字创建数组关键字创建数组 用用new关键字创建数组的格式:关键字创建数组的格式:new 数组类型数组类型size 2 2、获取数组的过程、获取数组的过程获得一个数组需要步:
2、第一步,定义数组变量获得一个数组需要步:第一步,定义数组变量所需的类型第二步,使用所需的类型第二步,使用newnew关键字为数组所要存关键字为数组所要存储的数据分配内存空间,并把它们分配给数组变量。储的数据分配内存空间,并把它们分配给数组变量。int x=new int100;int x=new int100;【多学两招】【多学两招】关于内存分配的知识关于内存分配的知识 Java Java把内存划分成两种:一种是栈内存,一种是把内存划分成两种:一种是栈内存,一种是堆内存。堆内存。在函数中定义的一些基本类型的变量对象的引在函数中定义的一些基本类型的变量对象的引用变量都是在栈内存中分配。用变量都是
3、在栈内存中分配。堆内存用来存放由堆内存用来存放由newnew创建的对象和数组,在堆中创建的对象和数组,在堆中分配的内存由分配的内存由JavaJava虚拟机的自动垃圾回收器来管理。虚拟机的自动垃圾回收器来管理。v堆内存堆内存v栈内存栈内存 Int x v int x =new int1000 x3000 0 x0 0 x1.0 x99New int100产生的对象产生的对象.0 x3000v3、数组的初始化、数组的初始化v 数组在创建后,其元素是被系统自动进行初始数组在创建后,其元素是被系统自动进行初始化的。也可以在数组声明中直接给数组赋值。化的。也可以在数组声明中直接给数组赋值。v publi
4、c class TestArrayvpublic static void main(String args)vint x=new int10;vfor(int i=0;ix.length;i+)vSystem.out.println(x+i+=+xi);vvvv4 4、数组的长度、数组的长度 Java Java中为所有数组设置了一个表示数组元中为所有数组设置了一个表示数组元素个数的特性变量素个数的特性变量lengthlength。访问该变量可以。访问该变量可以获取数组的长度:格式为:获取数组的长度:格式为:array.lengtharray.lengthv5 5、对象数组、对象数组 例:例:P
5、erson p=new Person10;Person p=new Person10;v 第第4 4章章 Java Java面向对象的特性面向对象的特性4.1 4.1 概述概述 4.1.1 Java 4.1.1 Java语言的语言的OOPOOP特性特性 1.1.封装(封装(Encapsulation)Encapsulation)将对象的数据与操作数据的方法相结合,通过将对象的数据与操作数据的方法相结合,通过方法将对象的数据与实现细节保护起来,就称为封方法将对象的数据与实现细节保护起来,就称为封装。外界只能通过对象的方法访问对象,因此封装装。外界只能通过对象的方法访问对象,因此封装同时也实现了对
6、象的数据隐藏。同时也实现了对象的数据隐藏。在在JavaJava语言中,通过类这样的语言机制实现了语言中,通过类这样的语言机制实现了数据的封装与隐藏。数据的封装与隐藏。v2 2、继承(、继承(inheritance)inheritance)当一个类是另一个类的特例时,这两个类之间具当一个类是另一个类的特例时,这两个类之间具有的父子关系,我们称之为继承。有的父子关系,我们称之为继承。子类继承了父类的状态和行为,子类还有自身的子类继承了父类的状态和行为,子类还有自身的属性和方法,继承关系减少了程序中相类似代码的属性和方法,继承关系减少了程序中相类似代码的重复说明。重复说明。继承分为单继承和多继承。继
7、承分为单继承和多继承。JavaJava只支持类之间的只支持类之间的单继承,多继承实际上是通过接口机制来实现的。单继承,多继承实际上是通过接口机制来实现的。v3 3、多态、多态(polymorphism)(polymorphism)多态的含义可以表达为多态的含义可以表达为“对外一个接口,内部多对外一个接口,内部多种实现种实现”。v4.1.2 Java中类和对象的基本概念中类和对象的基本概念 类描述了同一类对象具有的数据和行为。创建一个类描述了同一类对象具有的数据和行为。创建一个新类相当于创建了一种新的数据类型。新类相当于创建了一种新的数据类型。4.2 类的定义类的定义 4.2.1 类的基本结构类
8、的基本结构 类有两种基本成分:成员变量和成员方法。类有两种基本成分:成员变量和成员方法。类的成员变量可以是基本类型的数据或数组,也可类的成员变量可以是基本类型的数据或数组,也可以是一个类的实例,类的方法处理该类的数据。以是一个类的实例,类的方法处理该类的数据。【注】【注】JavaJava中的方法与其他语言中的函数的区别中的方法与其他语言中的函数的区别 1 1、方法只能是类的成员,只能在类中定义。、方法只能是类的成员,只能在类中定义。2 2、调用一个类的成员方法,实际上是对象之间的、调用一个类的成员方法,实际上是对象之间的消息传递。消息传递。vJavaJava中类定义的基本格式中类定义的基本格式
9、 class classname class classname 类的声明的声明 属性声明属性声明 构造方法构造方法 类体体 成成员方法方法 v1 1、类的声明、类的声明 类的完整声明格式:类的完整声明格式:publicpublicabstractabstractfinal final classclass classname classname extends extends SuperclassSuperclassimplements Interfaceimplements Interface vpublicpublic指明任意类都可以访问这个类。指明任意类都可以访问这个类。(如果类声明中
10、没有(如果类声明中没有publicpublic,则只有与该类定义在同,则只有与该类定义在同一个保中的类才可以访问这个类。)一个保中的类才可以访问这个类。)abstrac abstrac指明该类是个抽象类。指明该类是个抽象类。final final指明该类是个最终类,不能再派生子类。指明该类是个最终类,不能再派生子类。extends Superclass extends Superclass指明该类所继承的父类。指明该类所继承的父类。implements Interfaces implements Interfaces指明该类所实现的接口。指明该类所实现的接口。2 2、类体、类体3 3、类的封装
11、与信息隐藏、类的封装与信息隐藏 类的封装与信息隐藏类的封装与信息隐藏,是具体通过对类的成员限定访问权是具体通过对类的成员限定访问权限来实现的。限来实现的。JavaJava中规定的类的成员访问权限有四种:中规定的类的成员访问权限有四种:publicpublic、protectedprotected、privateprivate及默认权限。及默认权限。public public成员可以被所有的类访问。成员可以被所有的类访问。private private成员只能被这个类本身访问成员只能被这个类本身访问 protected protected成员可以被这个类本身、它的子类以及同一个保重成员可以被这个
12、类本身、它的子类以及同一个保重的所有其它类所访问。的所有其它类所访问。类的封装与信息隐藏机制:类的封装与信息隐藏机制:使用使用privtaeprivtae权限将类的内部数据隐藏起来,只允许类自权限将类的内部数据隐藏起来,只允许类自身的方法对其操作,然后通过身的方法对其操作,然后通过public/protectedpublic/protected权限将方法作为权限将方法作为类的接口裸露出来,使外界只能通过这些接口访问类的数据,类的接口裸露出来,使外界只能通过这些接口访问类的数据,从而实现了类的封装,同时也最大限度隐藏了对象的内部细从而实现了类的封装,同时也最大限度隐藏了对象的内部细节。节。v 成
13、员变量成员变量 public|protected|privatestaticfinpublic|protected|privatestaticfinal type variableal type variablev 成员方法成员方法 1 1、成员方法的定义、成员方法的定义 (1)(1)方法的声明方法的声明 publicpublic|protectedprotected|privateprivatestaticstaticfinfinal|abstractal|abstract returnType name returnType name(listlist)throwsthrows block
14、 block (2)(2)方法体方法体 【注】【注】方法体中所声明以及用到的局部方法体中所声明以及用到的局部变量,它的作量,它的作用域只在用域只在该方法内部。方法内部。如果局部如果局部变量的名字和量的名字和类成成员变量的名字相同,量的名字相同,则类成成员变量被量被隐藏,如果要将藏,如果要将类成成员变量量显露露出来,出来,则需要在需要在变量前加上量前加上“this”“this”关关键字修字修饰符。符。方法重载方法重载 方法重方法重载允允许一个一个类的定的定义中,多个方法使用中,多个方法使用相同的方法名。方法重相同的方法名。方法重载是面向是面向对象程序象程序语言多言多态性的一种表性的一种表现。它。
15、它实现了了JavaJava编译时多多态。v public class TestOverloadingv public int add(int x,int y)v return x+y;v public int add(int x,int y,int z)v return x+y+z;v public double add(double x,double y)v return x+y;v public static void main(String args)v int isum;double fsum;v isum=add(3,5);v isum=add(1,3,5);v fsum=add(1
16、.23,2.3);v 方法重载必须遵循的原则:方法重载必须遵循的原则:方法的参数表必方法的参数表必须不同。不同。方法的返回方法的返回值、修、修饰符可以相同也可以不同符可以相同也可以不同 this this关键字关键字 thisthis是一个特定意是一个特定意义的引用,它指向当前的引用,它指向当前对象象本身。本身。4.34.3 构造函数构造函数 构造函数的定义与作用构造函数的定义与作用 构造函数的特点:构造函数的特点:构造函数的名称必构造函数的名称必须与与类名相同名相同 构造函数不能有返回构造函数不能有返回值 用用户不能直接不能直接调用构造方法,必用构造方法,必须通通过newnew关关键字自字自
17、动调用构造方法。用构造方法。v例子:例子:thisthis使用示例使用示例v public class MyDatev private int day,month,year;v public MyDate(int day,int month,int year)v this.day=day;v this.month=month;v this.year=year;v public String tomorrow()v this.day=this.day+1;v return this.day+”/”+this.month+”/”+this.year;vv public static void ma
18、in(String args)v MyDate d=new MyDate(12,4,2004);v System.out.println(d.tomorrow();vvv构造函数的作用:构造函数的作用:构造函数可以构造函数可以为类的成的成员变量量进行初始化当一行初始化当一个个类的的实例例对象象刚产生生时,这个个类的构造方法就会的构造方法就会被自被自动调用,我用,我们可以在可以在这个方法中加入要完成初个方法中加入要完成初始化工作的代始化工作的代码 缺省的构造方法缺省的构造方法用缺省的构造方法初始化对象时,由系统用默认用缺省的构造方法初始化对象时,由系统用默认值初始化对象的成员变量值初始化对象的成
19、员变量各种数据类型的默认值为:各种数据类型的默认值为:数值型:数值型:Boolean:falseBoolean:false 对象:对象:nullnull v class Person public Person()System.out.println(“bath me”);private int age=10;public void shout()System.out.println(“Im”+age+”years old”);public class TestPerson Person p1=new Person();p1.shout();Person p2=new Person();p2.
20、shout();v 重载构造方法重载构造方法 构造方法可以重构造方法可以重载,即定,即定义多个构造方法,其参多个构造方法,其参数表不同。重数表不同。重载构造方法的目的是使构造方法的目的是使对象具有不同象具有不同的初始的初始值,为类对象的初始化提供方便。象的初始化提供方便。4.44.4 对象的生命周期对象的生命周期 一个一个JavaJava程序将包含很多程序将包含很多对象,象,这些些对象通象通过发送消息彼此送消息彼此进行交互操作,行交互操作,实现了了JavaJava程序的各种程序的各种功能。当一个功能。当一个对象完成了所有操作后,将被垃圾回象完成了所有操作后,将被垃圾回收器收回,它所占有的收器收
21、回,它所占有的资源将被回收并由系源将被回收并由系统提供提供给其他其他对象使用。象使用。对象的生命周期包括了象的生命周期包括了对象的象的创建、建、对象象的使用和的使用和对象回收几个象回收几个阶段。段。v 对象的创建对象的创建 1 1、对象创建的过程对象创建的过程 创建一个对象包括两个步骤创建一个对象包括两个步骤:(1)(1)声明对象变量声明对象变量 对象象变量的声明,使得系量的声明,使得系统为该变量分配量分配了一个引用空了一个引用空间(栈内存)。内存)。(2)(2)对象的实例化对象的实例化 通通过使用使用newnew关关键字字进行行对象的象的实例化。例化。对象象实例化的例化的过程是程是为对象分配
22、内存空象分配内存空间(堆内存),(堆内存),执行行newnew关关键字后的构造方法完字后的构造方法完成成对象的初始化,并返回象的初始化,并返回该对象的引用。象的引用。v2 2、创建与初始化对象的过程、创建与初始化对象的过程v 对象创建与初始化,即执行对象创建与初始化,即执行new Class()new Class()的过程的过程如下:如下:v (1)(1)首先首先为对象分配内存空象分配内存空间,并将成,并将成员变量量进行行初始化:数初始化:数值型型变量的初量的初值为0 0;逻辑性性为falsefalse;引用型引用型变量的初量的初值为nullnull。v(2)(2)然后然后执行行显式初始化,即
23、式初始化,即执行在行在类成成员变量声量声明明时带有的有的简单赋值表达式。表达式。v(3)(3)执行构造方法,行构造方法,进行行对象的初始化。象的初始化。v 对象的使用对象的使用(访问访问)v 通通过原点运算符原点运算符()()可以可以访问对象的象的变量和方法量和方法.v 访问对象的象的变量量v 注注 不提倡不提倡对对象象变量的直接量的直接访问.好的好的对象象变量量访问方式是方式是通通过对象提供的象提供的settersetter和和gettergetter方法方法对变量量进行写和行写和读.v 调用用对象的方法象的方法v 对象名象名.方法方法()()v 对象的清除对象的清除v 在在JavaJava
24、中中,采用垃圾回收器来采用垃圾回收器来进行内存管理行内存管理.Java.Java运行系运行系统会在确定某个会在确定某个对象不再被使用象不再被使用时自自动将其将其删除除.垃圾回收器回收的垃圾回收器回收的对象是被确定不存在任何引象是被确定不存在任何引用的用的对象象.v 不存在引用包括两种情况不存在引用包括两种情况:引用超引用超过其作用域其作用域;引用被引用被显式式删除除.v4.54.5 类的继承类的继承v 类的继承类的继承 1.1.子类及其定义子类及其定义 子类声明的具体格式如下子类声明的具体格式如下:class SubClass extends SuperClass class SubClass
25、 extends SuperClass 类体类体 子类可以继承父类的属性和方法子类可以继承父类的属性和方法,子类只需声明子类只需声明自己特有的东西自己特有的东西.子类不能继承父类的包括子类不能继承父类的包括:带带privateprivate修饰符的方法和属性修饰符的方法和属性 构造方法不能被继承构造方法不能被继承v2 2.单继承单继承 JavaJava只支持只支持单继承承,单继承的承的优点是可以点是可以避免多个直接父避免多个直接父类之之间可能可能产生的冲突生的冲突.对于于现实中的多重中的多重继承承,Java,Java是通是通过接口机制接口机制实现.v3.3.继承性的特点继承性的特点 (1 1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言程序设计 基本 语法
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内