Java语法课件1第4章面向对象(一)PPT课件内容





文档《Java语法课件1第4章面向对象(一)PPT课件内容》内容(34页完美版)由用户上传提供,感谢您阅读,更多关于《Java语法课件1第4章面向对象(一)PPT课件内容(珍藏版)》内容请在新文库网搜索。
1、第4章面向对象(一)4.1面向对象概念4.2类与对象的概念4.3方法4.4关键字this的使用4.5关键字static的使用4.6内部类4.7包4.8类及成员的访问权限4.1面向对象概念面向对象思想是人类最自然的一种思考方式,它将所有预处理的问题抽象为对象,同时了解这些对象具有哪些属性以及行为,以解决这些对象面临的一些实际问题,这样就在程序开发中引入了面向对象设计的概念,面向对象设计实际上就是对现实世界的对象进行建模操作。面向对象的特点主要可以概括为封装性、继承性和多态性4.2类与对象的概念类实质上就是封装对象属性和行为的载体,而对象则是类抽象出来的一个实例。4.2类与对象的概念4.2.1类的
2、定义类是对一个特定类型对象的描述,它定义了一种新类型,即“类”是对象的定义,用户也可以把它看做是对象的蓝图。类中可以包含有关对象属性和方法的定义。其中,属性是存储数据的变量,可以是任何类型,用户通过这些数据区分类的不同对象;方法定义了用户对类的各种操作,也就是类的对象可以做的事情,通常,方法是对属性进行操作的4.2类与对象的概念4.2.2对象的定义和引用类是对象的抽象,为对象定义了属性和行为,但类本身既不带任何数据,也不存在于内存空间中。而对象是类的一个具体存在,既拥有独立的内存空间,也存在独特的属性和行为,属性还可以随着自身的行为而发生改变。类名 对象名=new 类名();4.2类与对象的概
3、念4.2.3类的设计由于封装性是面向对象的特征之一,因此通常将类设计成一个黑匣子,使用者只能通过类所提供的公共方法来实现对内部成员的操作和访问,不能看见方法的实现细节,也不能直接访问对象内部成员。类的封装可以隐藏类的实现细节,促使用户只能通过方法去访问数据,这样就可以增强程序的安全性4.3方法方法(method)是数行代码的集合,可以操作类中的属性,用于解决特定问题。在程序中多次使用相同的代码,重复地编写及维护比较麻烦,因此可以将此部分代码定义成一个方法,以供程序反复调用。4.3方法4.3.1成员方法1.方法的定义:Java中的方法定义在类中,一个类可以声明多个方法。方法包括方法头和方法体两部
4、分,其中方法头确定方法的名字、形式参数的名字及类型、返回值的类型和访问权限等,方法体是具体完成的操作。4.3方法4.3.1成员方法2.方法的调用:方法在调用时执行方法中的代码,因此要执行方法,必须调用方法。如果方法有返回值,通常将方法调用作为一个值来处理。如果方法没有返回值,方法调用必须是一条语句。4.3方法4.3.2构造方法构造方法必须以类名作为方法的名称,不返回任何值,也就是说构造方法是以类名为名称的特殊方法。4.3方法4.3.2构造方法在Java中,最少要有一个构造方法。类的构造方法可以显示定义也可以隐式定义,显示定义的意思是说在类中已经写好了构造方法的代码;隐式定义是指如果在一个类中没
5、有定义构造方法,系统在解释时会分配一个默认的构造方法,这个构造工作方法只是一个空壳,没有参数,也没有方法体,类的所有属性系统将根据其数据类型默认赋值。所以说类的构造方法是必须的,但其代码可以不编写。总之,如果在类中已经实现了构造方法,系统不会分配构造方法,如果没有实现,系统会自动分配。4.3方法4.3.2构造方法构造方法的特点如下:构造方法必须与类同名。构造方法没有返回类型,也不能用void。构造方法不能由编程人员调用,是系统自动调用。一个类中可以定义多个构造方法,即构造方法的重载。但如果没有定义构造方法,系统会自动分配一个无参的默认的构造方法。4.3方法4.3.3方法的重载1.成员方法的重载
6、每一成员方法都有其签名,方法的签名包含方法的名称及它的形参的数量、每个形参的类型组成。具体说,方法签名不包含返回类型。在类中如果声明有多个同名的方法,但它们的签名不同,则称为方法的重载。4.3方法4.3.3方法的重载2.构造方法的重载类的定义中如果有两个以上参数个数或类型不同的构造方法时,称为构造方法的重载。4.4关键字this的使用每个对象都有一个名为this的引用,它指向当前对象本身使用this调用类中的属性,也就是类中的成员变量。使用this调用成员方法使用this调用其他构造方法4.5关键字static的使用Java的类中可以包含两种成员:实例成员和静态成员。实例成员:一般在类中定义的
7、成员是每个由此类产生的对象拥有的,因此可以称之为实例成员或对象成员静态成员:如果需要让类的所有对象在类的范围内共享某个成员,而这个成员不属于任何由此类产生的对象,它是属于整个类的,这种成员称为静态成员或类成员。4.5关键字static的使用4.5.1静态属性与实例属性静态属性:使用static修饰的属性,称为静态属性或类属性,它被类的所有对象共享,属于整个类所有,因此可以通过类名直接来访问。实例属性:而未使用static修饰的属性称为实例属性,它属于具体对象独有,每个对象分别包含一组该类的所有实例属性。4.5关键字static的使用4.5.2静态方法与实例方法静态方法:使用static修饰的成
8、员方法,称为静态方法,无须创建类的实例就可以调用静态方法,静态方法可以通过类名调用。实例方法:没有用static修饰的方法,称为实例方法。4.5关键字static的使用4.5.3静态成员和实例成员的区别1.静态成员的特征2.实例成员的特征3.访问权限4.5关键字static的使用1.静态成员的特征(1)一个静态属性只标识一个存储位置。无论创建了多少个类的对象,永远都只有静态属性的一个副本。(2)静态方法不在某个特定对象上操作,在这样的方法中引用this是错误的。4.5关键字static的使用2.实例成员的特征(1)类的每个对象分别包含一组该类的所有实例属性。类的每个对象都为每个实例属性建立一个
9、副本。也就是说类的每个对象的实例属性的存储位置都是不同的。(2)实例方法在类的给定对象上操作,此对象可以作为this访问。4.5关键字static的使用3.访问权限(1)静态方法可以访问静态成员,但是不能访问实例成员。(2)实例成员可以访问静态成员,也可以访问实例成员。4.5关键字static的使用4.5.4代码块1.动态代码块:动态代码块就是直接定义在类中的代码块,它没有任何前缀、后缀及关键字修饰。2.静态代码块:静态代码块就是使用static关键字修饰的代码块,它是最早执行的代码块。4.6内部类在Java中,类中除了可以定义成员变量与成员方法外,还可以定义类,该类称作内部类,内部类所在的类
10、称作外部类。根据内部类的位置、修饰符和定义的方式可分为成员内部类、静态内部类、方法内部类以及匿名内部类4种。4.6内部类4.6.1成员内部类成员内部类是指类作为外部类的一个成员,能直接访问外部类的所有成员,但在外部类中访问内部类,则需要在外部类中创建内部类的对象,使用内部类的对象来访问内部类中的成员。同时,若要在外部类外要访问内部类,则需要通过外部类对象去创建内部类对象,在外部类外创建一个内部类对象的语法格式如下:外部类名.内部类名 变量名=new 外部类名().内部类名()4.6内部类4.6.2静态内部类如果不需要外部类对象与内部类对象之间有联系,那么可以将内部类声明为static,用sta
11、tic关键字修饰的内部类称为静态内部类。静态内部类可以有实例成员和静态成员,它可以直接访问外部类的静态成员,但如果想访问外部类的实例成员,就必须通过外部类的对象去访问。另外,如果在外部类外访问静态内部类成员,则不需要创建外部类对象,只需创建内部类对象即可。创建内部类对象的语法格式如下:外部类名.内部类名 变量名=new 外部类名.内部类名()4.6内部类4.6.3方法内部类方法内部类是指在成员方法中定义的类,它与局部变量类似,作用域为定义它的代码块,因此它只能在定义该内部类的方法内实例化,不可以在此方法外对其实例化。4.6内部类4.6.4匿名内部类匿名内部类就是没有名称的内部类。创建匿名内部类
12、时会立即创建一个该类的对象,该类定义立即消失,匿名内部类不能重复使用。4.7包4.7.1包的定义和使用包(package)是Java提供的一种区别类的名字空间的机制,是类的组织方式,是一组相关类和接口的集合,它提供了访问权限和命名的管理机制。使用package语句声明包,其语法格式如下:package 包名4.7包4.7.2 import语句当类进行打包操作后,同一个包内的类默认引入,当需要使用其他包中的类时,需要在程序的开头写上import语句,指出要导入哪个包的哪些类,然后才可以使用这些类。引入包的语法如下:import 包名.*;4.8类及成员的访问权限Java为类中的成员设置了4种访问
13、权限,为类本身设置了2种访问权限。4.8类及成员的访问权限4.8.1类的访问权限Java提供了2中类的访问权限,分别是public和默认。4.8.2类成员的访问权限Java提供的4种成员的访问权限分别是:public(公有)、protected(保护)、默认和private(私有)4.8类及成员的访问权限private(类访问权限):被private修饰的成员,只能被当前类中其他成员访问,不能在类外被访问。default(包访问权限):如果一个类或类的成员前没有任何访问权限修饰,则表示默认访问权限,即类或类的成员可以被同一包中的所有类访问。protected(子类访问权限):被protected修饰的成员,可以被同一个包中的任何类或不同包中的子类访问。public(公共访问权限):被public修饰的类或类的成员,可以被任何包中的类访问。4.8类及成员的访问权限访问权限访问权限privatedefaultprotectedpublic同一类中成员同一类中成员同一包中其他类同一包中其他类 不同包中子类不同包中子类 不同包的非子类不同包的非子类
最近上传DOC
- 2023下半年四川凉山宁南县招聘小学教师15人高频考点题库公共基础共200题含答案解析模拟练习试卷
- 2023下半年四川凉山金阳县事业单位招聘12人高频考点题库公共基础共200题含答案解析模拟练习试卷
- 2023下半年事业单位联考招聘639人高频考点题库公共基础共200题含答案解析模拟练习试卷
- 2023下半年事业单位联考考试几类高频考点题库公共基础共200题含答案解析模拟练习试卷
- 2023下半年事业单位10.27联考招考10967人高频考点题库公共基础共200题含答案解析模拟练习试卷
- 2023下半年上海事业单位招考高频考点题库公共基础共200题含答案解析模拟练习试卷
- 2023下半年商洛市事业单位招聘募工作人员325人高频考点题库公共基础共200题含答案解析模拟练习试卷
- 2023下半年全国事业单位9.17联考笔试高频考点题库公共基础共200题含答案解析模拟练习试卷
- 2023下半年内蒙古总工会事业单位公开招聘15人高频考点题库公共基础共200题含答案解析模拟练习试卷
- 2023下半年内蒙古事业单位10.27联考2470人高频考点题库公共基础共200题含答案解析模拟练习试卷
- 2023下半年吉林四平市事业单位招聘工作人员18人高频考点题库公共基础共200题含答案解析模拟练习试卷
- 2023下半年吉林四平市事业单位招聘18人高频考点题库公共基础共200题含答案解析模拟练习试卷
- 2023下半年北京市门头沟区事业单位招聘笔试高频考点题库公共基础共200题含答案解析模拟练习试卷
- 2023下半年1024全国事业单位联考招考高频考点题库公共基础共200题含答案解析模拟练习试卷
- 2023下半年9.17四川绵阳事业单位考试466人高频考点题库公共基础共200题含答案解析模拟练习试卷
最近上传PPT
- 3G无线网络规划与优化课件任务4CDMA2000网络切换问题优化PPT内容
- 5G技术与应用课件项目2.3 多载波技术PPT内容
- 4G全网通信技术课件任务1 规划无线及核心网PPT内容
- 3G无线网络规划与优化课件任务3 容量规划PPT内容
- 3G无线网络规划与优化课件任务3CDMA2000网络接入问题优化PPT内容
- 3G无线网络规划与优化课件任务4站点布局和查勘PPT内容
- 5G技术与应用课件项目2.1 5G频谱及部署策略PPT内容
- 5G技术与应用课件项目4.2 车联网应用方案PPT内容
- 5G技术与应用课件项目2.2 新型多址技术PPT内容
- 3G无线网络规划与优化课件任务5规划仿真PPT内容
- 3G无线网络规划与优化课件任务5WCDMA网络掉话问题优化PPT内容
- 5G技术与应用课件项目3.5 5G核心网PPT内容
- “互联网+”大学生创新创业教程课件 -(1)PPT内容
- “互联网+”大学生创新创业教程课件 -(3)PPT内容
- 3G无线网络规划与优化课件任务2CDMA2000网络覆盖优化PPT内容
最近上传RAR
- 智慧物流配送模式有哪些类型
- 跳槽的战略培训有哪些内容(附PPT课件)
- javascript基础入门教程ppt课件包
- 狼牙山五壮士优秀课件部编版PPT
- 建筑与房地产中级经济师最新讲义(2023精讲版)
- 财政与税收专业知识与实务讲义(2023精讲版)
- 建筑与房地产中级经济师最新讲义(2023完整版)
- 乐山市2022-2023学年下期教学质量监测考试七年级语文试题及答案
- 乐山市2022-2023学年下期教学质量监测考试七年级英语试题及答案
- 乐山市市中区2022-2023学年下期教学质量监测考试八年级英语试题及答案
- 乐山市市中区2022-2023学年下期教学质量监测考试八年级数学试题及答案
- 乐山市市中区2022-2023学年下期教学质量监测考试八年级历史试题及答案
- 乐山市市中区2022-2023学年下期教学质量监测考试八年级道法试题及答案
- 青年干部座谈会发言多篇
- 清廉创建工作汇报多篇