欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Java语言程序设计-基本语法.ppt

    • 资源ID:70795911       资源大小:291.99KB        全文页数:56页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java语言程序设计-基本语法.ppt

    JavaJava程序设计程序设计主讲教师:周立波主讲教师:周立波2.5 数组数组 2.5.1 数组的声明数组的声明 数组声明的格式:数组声明的格式:(1)(1)数组类型数组类型 数组名数组名 (2)(2)数组类型数组类型 数组名数组名 在数组的声明中不指定数组的长度。例在数组的声明中不指定数组的长度。例如:如:int a5 的形式是错误的。的形式是错误的。2.5.2 数组的创建与初始化数组的创建与初始化 1、用、用new关键字创建数组关键字创建数组 用用new关键字创建数组的格式:关键字创建数组的格式:new 数组类型数组类型size 2 2、获取数组的过程、获取数组的过程获得一个数组需要步:第一步,定义数组变量获得一个数组需要步:第一步,定义数组变量所需的类型第二步,使用所需的类型第二步,使用newnew关键字为数组所要存关键字为数组所要存储的数据分配内存空间,并把它们分配给数组变量。储的数据分配内存空间,并把它们分配给数组变量。int x=new int100;int x=new int100;【多学两招】【多学两招】关于内存分配的知识关于内存分配的知识 Java Java把内存划分成两种:一种是栈内存,一种是把内存划分成两种:一种是栈内存,一种是堆内存。堆内存。在函数中定义的一些基本类型的变量对象的引在函数中定义的一些基本类型的变量对象的引用变量都是在栈内存中分配。用变量都是在栈内存中分配。堆内存用来存放由堆内存用来存放由newnew创建的对象和数组,在堆中创建的对象和数组,在堆中分配的内存由分配的内存由JavaJava虚拟机的自动垃圾回收器来管理。虚拟机的自动垃圾回收器来管理。v堆内存堆内存v栈内存栈内存 Int x v int x =new int1000 x3000 0 x0 0 x1.0 x99New int100产生的对象产生的对象.0 x3000v3、数组的初始化、数组的初始化v 数组在创建后,其元素是被系统自动进行初始数组在创建后,其元素是被系统自动进行初始化的。也可以在数组声明中直接给数组赋值。化的。也可以在数组声明中直接给数组赋值。v public 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、对象数组、对象数组 例:例:Person 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)将对象的数据与操作数据的方法相结合,通过将对象的数据与操作数据的方法相结合,通过方法将对象的数据与实现细节保护起来,就称为封方法将对象的数据与实现细节保护起来,就称为封装。外界只能通过对象的方法访问对象,因此封装装。外界只能通过对象的方法访问对象,因此封装同时也实现了对象的数据隐藏。同时也实现了对象的数据隐藏。在在JavaJava语言中,通过类这样的语言机制实现了语言中,通过类这样的语言机制实现了数据的封装与隐藏。数据的封装与隐藏。v2 2、继承(、继承(inheritance)inheritance)当一个类是另一个类的特例时,这两个类之间具当一个类是另一个类的特例时,这两个类之间具有的父子关系,我们称之为继承。有的父子关系,我们称之为继承。子类继承了父类的状态和行为,子类还有自身的子类继承了父类的状态和行为,子类还有自身的属性和方法,继承关系减少了程序中相类似代码的属性和方法,继承关系减少了程序中相类似代码的重复说明。重复说明。继承分为单继承和多继承。继承分为单继承和多继承。JavaJava只支持类之间的只支持类之间的单继承,多继承实际上是通过接口机制来实现的。单继承,多继承实际上是通过接口机制来实现的。v3 3、多态、多态(polymorphism)(polymorphism)多态的含义可以表达为多态的含义可以表达为“对外一个接口,内部多对外一个接口,内部多种实现种实现”。v4.1.2 Java中类和对象的基本概念中类和对象的基本概念 类描述了同一类对象具有的数据和行为。创建一个类描述了同一类对象具有的数据和行为。创建一个新类相当于创建了一种新的数据类型。新类相当于创建了一种新的数据类型。4.2 类的定义类的定义 4.2.1 类的基本结构类的基本结构 类有两种基本成分:成员变量和成员方法。类有两种基本成分:成员变量和成员方法。类的成员变量可以是基本类型的数据或数组,也可类的成员变量可以是基本类型的数据或数组,也可以是一个类的实例,类的方法处理该类的数据。以是一个类的实例,类的方法处理该类的数据。【注】【注】JavaJava中的方法与其他语言中的函数的区别中的方法与其他语言中的函数的区别 1 1、方法只能是类的成员,只能在类中定义。、方法只能是类的成员,只能在类中定义。2 2、调用一个类的成员方法,实际上是对象之间的、调用一个类的成员方法,实际上是对象之间的消息传递。消息传递。vJavaJava中类定义的基本格式中类定义的基本格式 class classname class classname 类的声明的声明 属性声明属性声明 构造方法构造方法 类体体 成成员方法方法 v1 1、类的声明、类的声明 类的完整声明格式:类的完整声明格式:publicpublicabstractabstractfinal final classclass classname classname extends extends SuperclassSuperclassimplements Interfaceimplements Interface vpublicpublic指明任意类都可以访问这个类。指明任意类都可以访问这个类。(如果类声明中没有(如果类声明中没有publicpublic,则只有与该类定义在同,则只有与该类定义在同一个保中的类才可以访问这个类。)一个保中的类才可以访问这个类。)abstrac abstrac指明该类是个抽象类。指明该类是个抽象类。final final指明该类是个最终类,不能再派生子类。指明该类是个最终类,不能再派生子类。extends Superclass extends Superclass指明该类所继承的父类。指明该类所继承的父类。implements Interfaces implements Interfaces指明该类所实现的接口。指明该类所实现的接口。2 2、类体、类体3 3、类的封装与信息隐藏、类的封装与信息隐藏 类的封装与信息隐藏类的封装与信息隐藏,是具体通过对类的成员限定访问权是具体通过对类的成员限定访问权限来实现的。限来实现的。JavaJava中规定的类的成员访问权限有四种:中规定的类的成员访问权限有四种:publicpublic、protectedprotected、privateprivate及默认权限。及默认权限。public public成员可以被所有的类访问。成员可以被所有的类访问。private private成员只能被这个类本身访问成员只能被这个类本身访问 protected protected成员可以被这个类本身、它的子类以及同一个保重成员可以被这个类本身、它的子类以及同一个保重的所有其它类所访问。的所有其它类所访问。类的封装与信息隐藏机制:类的封装与信息隐藏机制:使用使用privtaeprivtae权限将类的内部数据隐藏起来,只允许类自权限将类的内部数据隐藏起来,只允许类自身的方法对其操作,然后通过身的方法对其操作,然后通过public/protectedpublic/protected权限将方法作为权限将方法作为类的接口裸露出来,使外界只能通过这些接口访问类的数据,类的接口裸露出来,使外界只能通过这些接口访问类的数据,从而实现了类的封装,同时也最大限度隐藏了对象的内部细从而实现了类的封装,同时也最大限度隐藏了对象的内部细节。节。v 成员变量成员变量 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 block (2)(2)方法体方法体 【注】【注】方法体中所声明以及用到的局部方法体中所声明以及用到的局部变量,它的作量,它的作用域只在用域只在该方法内部。方法内部。如果局部如果局部变量的名字和量的名字和类成成员变量的名字相同,量的名字相同,则类成成员变量被量被隐藏,如果要将藏,如果要将类成成员变量量显露露出来,出来,则需要在需要在变量前加上量前加上“this”“this”关关键字修字修饰符。符。方法重载方法重载 方法重方法重载允允许一个一个类的定的定义中,多个方法使用中,多个方法使用相同的方法名。方法重相同的方法名。方法重载是面向是面向对象程序象程序语言多言多态性的一种表性的一种表现。它。它实现了了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.23,2.3);v 方法重载必须遵循的原则:方法重载必须遵循的原则:方法的参数表必方法的参数表必须不同。不同。方法的返回方法的返回值、修、修饰符可以相同也可以不同符可以相同也可以不同 this this关键字关键字 thisthis是一个特定意是一个特定意义的引用,它指向当前的引用,它指向当前对象象本身。本身。4.34.3 构造函数构造函数 构造函数的定义与作用构造函数的定义与作用 构造函数的特点:构造函数的特点:构造函数的名称必构造函数的名称必须与与类名相同名相同 构造函数不能有返回构造函数不能有返回值 用用户不能直接不能直接调用构造方法,必用构造方法,必须通通过newnew关关键字自字自动调用构造方法。用构造方法。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 main(String args)v MyDate d=new MyDate(12,4,2004);v System.out.println(d.tomorrow();vvv构造函数的作用:构造函数的作用:构造函数可以构造函数可以为类的成的成员变量量进行初始化当一行初始化当一个个类的的实例例对象象刚产生生时,这个个类的构造方法就会的构造方法就会被自被自动调用,我用,我们可以在可以在这个方法中加入要完成初个方法中加入要完成初始化工作的代始化工作的代码 缺省的构造方法缺省的构造方法用缺省的构造方法初始化对象时,由系统用默认用缺省的构造方法初始化对象时,由系统用默认值初始化对象的成员变量值初始化对象的成员变量各种数据类型的默认值为:各种数据类型的默认值为:数值型:数值型: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.shout();v 重载构造方法重载构造方法 构造方法可以重构造方法可以重载,即定,即定义多个构造方法,其参多个构造方法,其参数表不同。重数表不同。重载构造方法的目的是使构造方法的目的是使对象具有不同象具有不同的初始的初始值,为类对象的初始化提供方便。象的初始化提供方便。4.44.4 对象的生命周期对象的生命周期 一个一个JavaJava程序将包含很多程序将包含很多对象,象,这些些对象通象通过发送消息彼此送消息彼此进行交互操作,行交互操作,实现了了JavaJava程序的各种程序的各种功能。当一个功能。当一个对象完成了所有操作后,将被垃圾回象完成了所有操作后,将被垃圾回收器收回,它所占有的收器收回,它所占有的资源将被回收并由系源将被回收并由系统提供提供给其他其他对象使用。象使用。对象的生命周期包括了象的生命周期包括了对象的象的创建、建、对象象的使用和的使用和对象回收几个象回收几个阶段。段。v 对象的创建对象的创建 1 1、对象创建的过程对象创建的过程 创建一个对象包括两个步骤创建一个对象包括两个步骤:(1)(1)声明对象变量声明对象变量 对象象变量的声明,使得系量的声明,使得系统为该变量分配量分配了一个引用空了一个引用空间(栈内存)。内存)。(2)(2)对象的实例化对象的实例化 通通过使用使用newnew关关键字字进行行对象的象的实例化。例化。对象象实例化的例化的过程是程是为对象分配内存空象分配内存空间(堆内存),(堆内存),执行行newnew关关键字后的构造方法完字后的构造方法完成成对象的初始化,并返回象的初始化,并返回该对象的引用。象的引用。v2 2、创建与初始化对象的过程、创建与初始化对象的过程v 对象创建与初始化,即执行对象创建与初始化,即执行new Class()new Class()的过程的过程如下:如下:v (1)(1)首先首先为对象分配内存空象分配内存空间,并将成,并将成员变量量进行行初始化:数初始化:数值型型变量的初量的初值为0 0;逻辑性性为falsefalse;引用型引用型变量的初量的初值为nullnull。v(2)(2)然后然后执行行显式初始化,即式初始化,即执行在行在类成成员变量声量声明明时带有的有的简单赋值表达式。表达式。v(3)(3)执行构造方法,行构造方法,进行行对象的初始化。象的初始化。v 对象的使用对象的使用(访问访问)v 通通过原点运算符原点运算符()()可以可以访问对象的象的变量和方法量和方法.v 访问对象的象的变量量v 注注 不提倡不提倡对对象象变量的直接量的直接访问.好的好的对象象变量量访问方式是方式是通通过对象提供的象提供的settersetter和和gettergetter方法方法对变量量进行写和行写和读.v 调用用对象的方法象的方法v 对象名象名.方法方法()()v 对象的清除对象的清除v 在在JavaJava中中,采用垃圾回收器来采用垃圾回收器来进行内存管理行内存管理.Java.Java运行系运行系统会在确定某个会在确定某个对象不再被使用象不再被使用时自自动将其将其删除除.垃圾回收器回收的垃圾回收器回收的对象是被确定不存在任何引象是被确定不存在任何引用的用的对象象.v 不存在引用包括两种情况不存在引用包括两种情况:引用超引用超过其作用域其作用域;引用被引用被显式式删除除.v4.54.5 类的继承类的继承v 类的继承类的继承 1.1.子类及其定义子类及其定义 子类声明的具体格式如下子类声明的具体格式如下:class SubClass extends SuperClass class SubClass extends SuperClass 类体类体 子类可以继承父类的属性和方法子类可以继承父类的属性和方法,子类只需声明子类只需声明自己特有的东西自己特有的东西.子类不能继承父类的包括子类不能继承父类的包括:带带privateprivate修饰符的方法和属性修饰符的方法和属性 构造方法不能被继承构造方法不能被继承v2 2.单继承单继承 JavaJava只支持只支持单继承承,单继承的承的优点是可以点是可以避免多个直接父避免多个直接父类之之间可能可能产生的冲突生的冲突.对于于现实中的多重中的多重继承承,Java,Java是通是通过接口机制接口机制实现.v3.3.继承性的特点继承性的特点 (1 1)通过继承可以简化类的定义。)通过继承可以简化类的定义。(2 2)JavaJava只支持单继承,不允许多重继承。只支持单继承,不允许多重继承。(3 3)可以有多层继承,即一个类可以继承某一个)可以有多层继承,即一个类可以继承某一个类的子类。类的子类。(4 4)子类继承父类所有的成员变量和方法,但不)子类继承父类所有的成员变量和方法,但不继承父类的构造方法,如果要在子类的构造方法中继承父类的构造方法,如果要在子类的构造方法中调用父类的构造方法,可以使用调用父类的构造方法,可以使用supersuper关键字来。关键字来。vSuperSuper关键字的用法关键字的用法 supersuper关关键字用来在子字用来在子类中引用父中引用父类中的中的成成员或构造方法或构造方法.使用使用supersuper调用父用父类的构造方法的构造方法 格式:格式:super(Parameter-list)super(Parameter-list)使用使用supersuper访问被子被子类成成员隐藏的父藏的父类成成员 格式:格式:super.method(parameter-super.method(parameter-list);list);super.attribute;super.attribute;v4.5.2 4.5.2 方法的重写方法的重写(overriding)(overriding)重写与重重写与重载是两个不同的概念是两个不同的概念.1.1.字类中父类成员的隐藏字类中父类成员的隐藏 在在类的的层次次结构中构中,当子当子类的成的成员变量与量与父父类的成的成员变量同名量同名时,子子类的成的成员变量会量会隐藏父藏父类的成的成员变量量.当子当子类的方法与父的方法与父类的方法具有相同的名的方法具有相同的名字、参数列表、返回字、参数列表、返回值类型型时,子子类的方法重的方法重写了父写了父类的方法的方法,父父类的方法就被的方法就被隐藏藏.“隐藏藏”的含的含义是是,通通过子子类对象象调用子用子类中与父中与父类同名的同名的变量和方法量和方法时,操作的是操作的是这些些变量和方法在子量和方法在子类中的定中的定义.v2.2.方法重写方法重写 脚下当心脚下当心 子类可以改写父类方法所实现的功能,子类可以改写父类方法所实现的功能,但子类中重写的方法必须与父类中对应的方法具有但子类中重写的方法必须与父类中对应的方法具有相同的返回值、方法名和参数列表相同的返回值、方法名和参数列表.3.3.方法重写遵守的原则方法重写遵守的原则 子类中重写方法的返回值类型必须与父类子类中重写方法的返回值类型必须与父类中被重写方法的返回值类型相同中被重写方法的返回值类型相同.子类中重写方法的访问权限不能缩小子类中重写方法的访问权限不能缩小.子类中重写父类的方法时不能抛出异常子类中重写父类的方法时不能抛出异常.v4.5.3 4.5.3 抽象类抽象类v 1 1、抽象类的定义、抽象类的定义 只有声明而没有方法体的方法称为抽象方法,只有声明而没有方法体的方法称为抽象方法,包含一个或多个抽象方法的类称为抽象类。包含一个或多个抽象方法的类称为抽象类。关于抽象类的讨论:关于抽象类的讨论:抽象类和抽象方法必须用抽象类和抽象方法必须用abstractabstract关键字来修饰。关键字来修饰。抽象方法只需声明,而不需实现。抽象方法只需声明,而不需实现。抽象类不能被实例化,也就是不能用抽象类不能被实例化,也就是不能用newnew关键字产关键字产生对象。生对象。含有抽象方法的类必须被声明为抽象类,抽象类的含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否子类必须覆盖所有的抽象方法后才能被实例化,否则这个子类还是个抽象类。则这个子类还是个抽象类。v2 2、抽象方法、抽象类的格式、抽象方法、抽象类的格式 abstract class Aabstract class A abstract int aa(int x ,int y)abstract int aa(int x ,int y);接口(接口(InterfaceInterface)1 1、什么是接口、什么是接口 接口是抽象方法和常量值的定义的集合。接口是抽象方法和常量值的定义的集合。从本质上讲,接口是一种特殊的抽象类,这种从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和抽象类中只包含常量和方法的定义,而没有变量和方法的实现。方法的实现。v2 2、接口的定义、接口的定义 接口的定义包括接口声明和接口体两部分。接口的定义包括接口声明和接口体两部分。(1)(1)接口声明:接口声明:public interface name extends SuperInterface.body body 【注】【注】publicpublic指明任意指明任意类可以使用可以使用这个接口。默个接口。默认情况下,只与情况下,只与该接口定接口定义在同一个包中的在同一个包中的类可以可以访问这个接口。个接口。(2)(2)接口体接口体 接口体中包含常量定义和方法定义接口体中包含常量定义和方法定义v3 3、接口的实现与使用、接口的实现与使用 在类的声明中用在类的声明中用implements子句来表示一个类实子句来表示一个类实现了某个接口,在类体中可以使用接口中定义的常现了某个接口,在类体中可以使用接口中定义的常量,而且必须实现接口中定义的所有方法。量,而且必须实现接口中定义的所有方法。一个类可以实现多个接口,在一个类可以实现多个接口,在implements子句子句中用逗号格开。中用逗号格开。【注】在类中实现接口所定义的方法时,方法的声【注】在类中实现接口所定义的方法时,方法的声明必须与接口中所定义的完全一致。明必须与接口中所定义的完全一致。【小结】实现接口:【小结】实现接口:实现一个接口就是要实现该接口的所有方法(抽象类除实现一个接口就是要实现该接口的所有方法(抽象类除外)。外)。接口中的方法都是抽象的。接口中的方法都是抽象的。多个无关的类可以实现同一个接口,一个类可以实现多多个无关的类可以实现同一个接口,一个类可以实现多个无关的接口。个无关的接口。v4.5.5 多重继承多重继承 C+ZC+Z中的多重中的多重继承用以引起代承用以引起代码冲突。而冲突。而JavaJava中中类只能只能进行行单继承,其多重承,其多重继承是利承是利用接口机制来用接口机制来实现的。的。4.5.6 通过继承来扩展接口通过继承来扩展接口 接口也是可以接口也是可以继承的,利用承的,利用extendsextends关关键字字来来进行接口的行接口的继承。从而承。从而实现接口的接口的扩展。展。4.5.7接口与抽象类的区别接口与抽象类的区别 接口中的所有方法都是抽象的,而抽象接口中的所有方法都是抽象的,而抽象类可以可以定定义带有方法体的不同方法。有方法体的不同方法。v 一个类可以实现多个接口,单只能继承一个抽象父一个类可以实现多个接口,单只能继承一个抽象父类。类。v 接口与实现它的类不构成类的继承体系,即接口不接口与实现它的类不构成类的继承体系,即接口不是类体系的一部分。而抽象类是属于一个类的继承是类体系的一部分。而抽象类是属于一个类的继承体系,并且一般位于类体系的顶层。体系,并且一般位于类体系的顶层。v 第五章第五章 Java高级特征高级特征5.1 5.1 static关键字关键字 static修饰的变量或方法称为类变量和类方法。修饰的变量或方法称为类变量和类方法。1.1.静态变量静态变量/类变量类变量 在类中,用在类中,用static修饰符修饰的变量成为类变量修饰符修饰的变量成为类变量或静态变量。静态变量只在系统加载其所在类时分或静态变量。静态变量只在系统加载其所在类时分配空间并初始化,并且在创建类的实例时将不再分配空间并初始化,并且在创建类的实例时将不再分配空间,所有的实例将共享类的静态变量。配空间,所有的实例将共享类的静态变量。静态变量是在一个类中所有的实例对象都可以静态变量是在一个类中所有的实例对象都可以访问的变量,静态变量依附于类,而与类的实例对访问的变量,静态变量依附于类,而与类的实例对象无关,所以对于不是象无关,所以对于不是private类型的静态变量,我类型的静态变量,我们可以在该类外直接用类名调用,而不需实例化。们可以在该类外直接用类名调用,而不需实例化。v2 2、静态方法、静态方法 在在类的成的成员方法声明种方法声明种带有有staticstatic关关键词,则该方法就称方法就称为类方法或静方法或静态方法。静方法。静态方法要通方法要通过类名而不是通名而不是通过实例例对象象访问。【脚下留心】【脚下留心】(1)(1)在静在静态方法里只能直接方法里只能直接调用同用同类中其他的静中其他的静态成成员,而不能直接,而不能直接访问类中的非静中的非静态成成员。(2)(2)子子类不能重写父不能重写父类的静的静态方法,但在子方法,但在子类中可中可以声明与父以声明与父类静静态方法相同的方法,从而将父方法相同的方法,从而将父类的的静静态方法方法隐藏。另外,子藏。另外,子类不能把父不能把父类的非静的非静态方方法重写法重写为静静态的。的。v3 3、静态代码块、静态代码块 一个一个类中可以使用不包含在任何方法体中的静中可以使用不包含在任何方法体中的静态代代码块,当当类被被载入入时,静,静态代代码块被被执行,而且只被行,而且只被执行一次,行一次,静静态块经常用来常用来进行行类属性的初始化。属性的初始化。4.4.理解理解mainmain方法的语句方法的语句 public static void main(String a)由于由于JavaJava虚虚拟机需要机需要调用用类的的mainmain方法,所以方法,所以该方法的方法的访问权限必限必须是是public.public.又因又因为JavaJava虚虚拟机在机在执行行main()main()方法方法时不必不必创建建对象,所以象,所以该方法必方法必须是是static static 的的.该方法接收一个方法接收一个StringString类型的数型的数组参数,参数,该数数组中保存中保存执行行JavaJava命令命令时传递给所运行的所运行的类的参数。的参数。public class TestMain public static void main(String args)for(int i=0;iargs.length;i+)System.out.println(argsi);v5.2 5.2 final关键词关键词 1 1、在类的声明中使用、在类的声明中使用final 被定义成被定义成final的类不能再派生子类。的类不能再派生子类。2、在成员方法声明中使用、在成员方法声明中使用final 被定义成被定义成final的方法不能被重写。的方法不能被重写。3、在成员变量的声明中使用、在成员变量的声明中使用final 如果类的成员变量被定义成如果类的成员变量被定义成final,则变量,则变量一经赋值就不能改变,所以可以通过声明一经赋值就不能改变,所以可以通过声明final变量并同时赋初值来定义常量。变量并同时赋初值来定义常量。【注】【注】如果在程序中要改如果在程序中要改变finalfinal变量的量的值,则将将产生生编译时错误。v5.5 5.5 包包 5.5.1 5.5.1 什么是包什么是包 将一将一组相关的相关的类和接口包裹在一起形成包和接口包裹在一起形成包,包是包是OOPOOP的封装性的一种体的封装性的一种体现.包的引入包的引入为JavaJava提供了以包提供了以包为单位的独立命名空位的独立命名空间,有效地解决了命名冲突的有效地解决了命名冲突的问题.它是相关它是相关类与借与借口的一个集合口的一个集合,它提供了它提供了类的命名空的命名空间的管理和的管理和访问保保护.每个包中都定每个包中都定义了了许多功能相关的多功能相关的类和接口和接口,我我们也可以定也可以定义自己的包来自己的包来实现自己的自己的应用程序用程序.使用包机制的好使用包机制的好处是是:程序程序员容易确定包中的容易确定包中的类是相关的是相关的,并且容易根并且容易根据所需的功能找到相据所需的功能找到相应的的类。v每个包都每个包都创建一个新的命名空建一个新的命名空间,因此不同包中的因此不同包中的类是不相关的是不相关的.v同一个包中的同一个包中的类之之间有比有比较宽松的松的访问控制控制.5.5.2 包的定义与使用包的定义与使用 1、包的定义、包的定义 使用使用package语句指定一个源文件中的类属于一个语句指定一个源文件中的类属于一个特定的包。特定的包。Package语句的格式:语句的格式:package pk1.pke.pk3;【说明】:【说明】:packagepackage语句在每个语句在每个JavaJava源程序中只能有一条,一源程序中只能有一条,一个类只能属于一个包。个类只能属于一个包。packagepackage语句必须在程序的第语句必须在程序的第1 1行。行。包名以包名以“”“”为分隔符。为分隔符。2 2、包成员的使用、包成员的使用 包中的成员是指包中的类和接口。包中的成员是指包中的类和接口。访问包成员有两种方式:访问包成员有两种方式:引入包成员或整个包,然后使用短名(类名或引入包成员或整个包,然后使用短名(类名或接口名)引用包成员。接口名)引用包成员。使用长名(由包名与类使用长名(由包名与类/接口名组成)引用包成接口名组成)引用包成员。员。(1 1)引入包成员)引入包成员 在在JavaJava中引入包中的类是通过中引入包中的类是通过importimport语句实现的。语句实现的。vImport语句的格式如下:语句的格式如下:import pk1.pk2.pk3(classname|*);包的层次包的层次 要引入的类要引入的类 引入包中多个类引入包中多个类 【注】【注】import语句必须在源程序任何类声明之前,在语句必须在源程序任何类声明之前,在package语句之后。所以语句之后。所以Java程序的一般结构如下:程序的一般结构如下:package语句;语句;import语句;语句;类声明类声明 (2)使用长名引用包成员)使用长名引用包成员 当要在程序中使用其他包中的类,而该包并没有引入,当要在程序中使用其他包中的类,而该包并没有引入,则必须使用长名引用该类。则必须使用长名引用该类。长名的格式:长名的格式:包名包名.类名类名 vClasspathClasspath环境变量环境变量 classpath classpath环境变量是设置指向顶层包名所环境变量是设置指向顶层包名所对应目录的父目录,而不是指向对应目录的父目录,而不是指向.class.class文件文件所在的目录。所在的目录。【注】【注】1 1、即使文件名相同,但其中所包含的类的、即使文件名相同,但其中所包含的类的完整名称却不一定相同。完整名称却不一定相同。2 2、同一个包中的类不必位于同样的目录。、同一个包中的类不必位于同样的目录。v3.包定义与使用示例包定义与使用示例5.5.3 包名与包成员的存储位置包名与包成员的存储位置 JavaJava中包名实际上是包的存储路径的一部分,中包名实际上是包的存储路径的一部分,包名中的包名中的 分隔符相当于目录分隔符。包存储的分隔符相当于目录分隔符。包存储的路径实际上由包的根路径加上包名指明的路径组成,路径实际上由包的根路径加上包名指明的路径组成,而包的根路径由而包的根路径由CLASSPATHCLASSPATH环境变量指出。环境变量指出。5.5.4 Java源文件与类文件的管理源文件与类文件的管理 一般原则:一般原则:(1 1)在应用系统目录下分别创建源文件目录与类文)在应用系统目录下分别创建源文件目录与类文件目录,并把类文件目录加入到件目录,并把类文件目录加入到classpathclasspath环境变量环境变量中。中。(2 2)每个源文件都存放在)每个源文件都存放在sourcesource目录中以包名为相对目录中以包名为相对路径的子目录中,编译后产生的类文件以所属包名路径的子目录中,编译后产生的类文件以所属包名为相对路径,存储在为相对路径,存储在classclass目录下。目录下。5.5 5.5 访问控制访问控制 1 1、访问控制概述、访问控制概述 Java Java中,我们可以在类的定义中使用权中,我们可以在类的定义中使用权限修饰符来保护类的变量和方法。限修饰符来保护类的变量和方法。JavaJava支持支持四种不同的访问权限:四种不同的访问权限:private、protected、public、default。对于类的成员变量和方法可以定义上述对于类的成员变量和方法可以定义上述四种访问级别,对于类可以有四种访问级别,对于类可以有public和和defaultdefault两种。两种。v 同一个同一个类 同一个包同一个包 子子类private yes no no Default yes yes no Protected yes yes yes public yes yes yes 四种修饰符的作用范围四种修饰符的作用范围 v2、private 类中带有类中带有private的成员只能被这个类自身访问。的成员只能被这个类自身访问。【注】若讲构造方法限定为【注】若讲构造方法限定为private,则其他类不能,则其他类不能生成该类的实例对象。生成该类的实例对象。【注】同一个类的不同对象之间可以访问对方的【注】同一个类的不同对象之间可以访问对方的private成员变量和方法。成员变量和方法。3、default default权限意味这可以被这个类本身和同一个包权限意味这可以被这个类本身和同一个包中的类所访问。中的类所访问。4、protected protected权限表示该成员可以被这个类本身、权限表示该成员可以被这个类本身、它的子类以及同一个包中所有其他类访问。它的子类以及同一个包中所有其他类访问。v5.3 Object5.3 Object类类v ObjectObjec

    注意事项

    本文(Java语言程序设计-基本语法.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开