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

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

    • 资源ID:70797191       资源大小:313.49KB        全文页数:60页
    • 资源格式: 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;【多学两招多学两招】关于内存分配的知识关于内存分配的知识 JavaJava把内存划分成两种:一种是栈内存,一种是把内存划分成两种:一种是栈内存,一种是堆内存。堆内存。在函数中定义的一些基本类型的变量对象的引在函数中定义的一些基本类型的变量对象的引用变量都是在栈内存中分配。用变量都是在栈内存中分配。堆内存用来存放由堆内存用来存放由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、数组的长度、数组的长度 JavaJava中为所有数组设置了一个表示数组元中为所有数组设置了一个表示数组元素个数的特性变量素个数的特性变量lengthlength。访问该变量可以。访问该变量可以获取数组的长度:格式为:获取数组的长度:格式为:array.lengtharray.lengthv5 5、对象数组、对象数组 例:例:Person p=new Person10;Person p=new Person10;v 第第4 4章章 JavaJava面向对象的特性面向对象的特性4.1 4.1 概述概述 4.1.1 Java4.1.1 Java语言的语言的OOPOOP特性特性 1.1.封装(封装(Encapsulation)Encapsulation)将对象的数据与操作数据的方法相结合,通过将对象的数据与操作数据的方法相结合,通过方法将对象的数据与实现细节保护起来,就称为封方法将对象的数据与实现细节保护起来,就称为封装。外界只能通过对象的方法访问对象,因此封装装。外界只能通过对象的方法访问对象,因此封装同时也实现了对象的数据隐藏。同时也实现了对象的数据隐藏。在在JavaJava语言中,通过类这样的语言机制实现了语言中,通过类这样的语言机制实现了数据的封装与隐藏。数据的封装与隐藏。采用封装的思想保证了类内部数据结构采用封装的思想保证了类内部数据结构的完整性,应用该类的用户不能轻易直接操的完整性,应用该类的用户不能轻易直接操纵此数据结构,而只能执行类允许公开的数纵此数据结构,而只能执行类允许公开的数据。这样避免了外部对内部数据的影响,提据。这样避免了外部对内部数据的影响,提高程序的可维护性。高程序的可维护性。v2 2、继承(、继承(inheritance)inheritance)当一个类是另一个类的特例时,这两个类之间具当一个类是另一个类的特例时,这两个类之间具有的父子关系,我们称之为继承。有的父子关系,我们称之为继承。子类继承了父类的状态和行为,子类还有自身的子类继承了父类的状态和行为,子类还有自身的属性和方法,继承关系减少了程序中相类似代码的属性和方法,继承关系减少了程序中相类似代码的重复说明。重复说明。继承分为单继承和多继承。继承分为单继承和多继承。JavaJava只支持类之间的只支持类之间的单继承,多继承实际上是通过接口机制来实现的。单继承,多继承实际上是通过接口机制来实现的。3 3、多态、多态(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,则只有与该类定义在同,则只有与该类定义在同一个保中的类才可以访问这个类。)一个保中的类才可以访问这个类。)abstracabstrac指明该类是个抽象类。指明该类是个抽象类。finalfinal指明该类是个最终类,不能再派生子类。指明该类是个最终类,不能再派生子类。extends Superclassextends Superclass指明该类所继承的父类。指明该类所继承的父类。implements Interfacesimplements Interfaces指明该类所实现的接口。指明该类所实现的接口。2 2、类体、类体3 3、类的封装与信息隐藏、类的封装与信息隐藏 类的封装与信息隐藏类的封装与信息隐藏,是具体通过对类的成员限定访问权是具体通过对类的成员限定访问权限来实现的。限来实现的。JavaJava中规定的类的成员访问权限有四种:中规定的类的成员访问权限有四种:publicpublic、protectedprotected、privateprivate及默认权限。及默认权限。publicpublic成员可以被所有的类访问。成员可以被所有的类访问。privateprivate成员只能被这个类本身访问成员只能被这个类本身访问 protectedprotected成员可以被这个类本身、它的子类以及同一个保重成员可以被这个类本身、它的子类以及同一个保重的所有其它类所访问。的所有其它类所访问。类的封装与信息隐藏机制:类的封装与信息隐藏机制:使用使用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)方法体方法体 【注注】方法体中所声明以及用到的局部变量,它的作方法体中所声明以及用到的局部变量,它的作用域只在该方法内部。用域只在该方法内部。如果局部变量的名字和类成员变量的名字相同,如果局部变量的名字和类成员变量的名字相同,则类成员变量被隐藏,如果要将类成员变量显露则类成员变量被隐藏,如果要将类成员变量显露出来,则需要在变量前加上出来,则需要在变量前加上“thisthis”关键字修饰关键字修饰符。符。方法重载方法重载 方法重载允许一个类的定义中,多个方法使用方法重载允许一个类的定义中,多个方法使用相同的方法名。方法重载是面向对象程序语言多相同的方法名。方法重载是面向对象程序语言多态性的一种表现。它实现了态性的一种表现。它实现了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 不存在引用包括两种情况不存在引用包括两种情况:引用超过其作用域引用超过其作用域;引用被显式删除引用被显式删除.v 对象的比较对象的比较 在在JavaJava语言中有两种对象的比较方式,分语言中有两种对象的比较方式,分别为别为“=”和和equals()方法。方法。equals()方法是方法是String类中的方法,它类中的方法,它用于比较两个对象所指的内容是否相等;而用于比较两个对象所指的内容是否相等;而“=”运算符比较的时两个对象引用的地址运算符比较的时两个对象引用的地址是否相等。是否相等。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关键字关键字来进行接口的继承。从而实现接口的扩展。来进行接口的继承。从而实现接口的扩展。接口与抽象类的区别接口与抽象类的区别 接口中的所有方法都是抽象的,而抽象类可以定接口中的所有方法都是抽象的,而抽象类可以定义带有方法体的不同方法。义带有方法体的不同方法。v 一个类可以实现多个接口,单只能继承一个抽象父一个类可以实现多个接口,单只能继承一个抽象父类。类。v 接口与实现它的类不构成类的继承体系,即接口不接口与实现它的类不构成类的继承体系,即接口不是类体系的一部分。而抽象类是属于一个类的继承是类体系的一部分。而抽象类是属于一个类的继承体系,并且一般位于类体系的顶层。体系,并且一般位于类体系的顶层。【包装类包装类】Java中的类把方法与数据连接在一起,并构成了中的类把方法与数据连接在一起,并构成了自包含式的处理单元。但在自包含式的处理单元。但在Java中不能定义基本类中不能定义基本类型对象,为了能将基本类型视为对象来处理,并能型对象,为了能将基本类型视为对象来处理,并能连接相关的方法,连接相关的方法,Java为每个基本类型都提供了包为每个基本类型都提供了包装类,这样我们就可以把这些基本类型转换为对象装类,这样我们就可以把这些基本类型转换为对象来处理了。来处理了。常用的包装类有:常用的包装类有:Integer、Long、Short、Boolean、Byte、Character、Double、Float。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环境变量环境变量 classpathclasspath环境变量是设置指向顶层包名所环境变量是设置指向顶层包名所对应目录的父目录,而不是指向对应目录的父目录,而不是指向.class.class文件文件所在的目录。所在的目录。【注注】1 1、即使文件名相同,但其中所包含的类的、即使文件名相同,但其中所包含的类的完整名称

    注意事项

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

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




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

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

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

    收起
    展开