欢迎来到天天文库
浏览记录
ID:58883111
大小:890.50 KB
页数:63页
时间:2020-09-30
《Java的面向对象特性ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章Java的面向对象特性4.1包的概念和作用4.2类和对象4.3封装、继承与多态4.4static与final修饰符4.6Java字符串4.7装拆箱和数字-字符串转换4.8Java异常处理4.9Java集合4.5抽象类和接口4.10Java时间类14.1包的概念和作用我们经常能够在程序的首行看到诸如packagex.xx.xxx之类的语句,其中的package,就是包。在OOP中,类的同名现象是经常出现的,就如同人类社会中的人存在同名现象一样。为了解决这种类的同名性引起的混乱,同时也为了方便类的管理和存放,引入包(package)的概念
2、,其实质是操作系统下的文件夹(目录)。将重名的类分别放置于不同名的包中,就避免了重名的类在调用时可能产生的歧义。2本质上,包就是一个文件夹,或者说是一个目录。包可以实现嵌套,即包下可以有子包,子包下还可以继续有子包。在包中,每一个类的首行,都必须显式的申明自己所属的包。4.1.1包的创建和使用例如,有类A属于包abc,则类A的首行必须写为:packageabc;下面,以Eclipse为IDE,演示包的生成过程。3Eclipse出于统一性管理机制的考虑,当用户新建一个类而不指定该类所属的包时,会自动的将这个类分配到defaultpackage
3、中去。这样,该类也算归在了一个包中,但实际上这个defaultpackage在硬盘分区中是不存在的。在项目的src和bin文件夹中,并没有defaultpackage文件夹,这个包只是一个虚拟的概念。并且,位于defaultpackage包下的类,也不需要在首行申明自己所属的包为defaultpackage。那么,如何创建并使用真实的包呢?4(1)【PackageExplorer】视图中,鼠标右击项目(本课程中就是java_code)下的【src】,选择【New】→【Package】,在弹出的新建Package窗口中,【Name】对应的文本
4、框中填入【package_1】,然后点击【Finish】。5这时,就新建了一个名为package_1的包,在【PackageExplorer】中可以看到这个包。在项目的src和bin文件夹中,也可以看到名为package_1的文件夹。6(2)在package_1包下,新建packageTest.java类。(3)按照(1)中的做法,分别再创建【package_2】和【package_3】两个包。(4)在package_2包下,新建packageTest.java类。(5)在package_3包下,新建usePackageTest.java类
5、。(6)编译并运行usePackageTest。7此外,还可以通过import关键字在类中导入其他包下的类,例如,将(5)中的代码修改如下:packagepackage_3;importpackage_1.packageTest;;publicclassusePackageTest{publicstaticvoidmain(String[]args){packageTestA=newpackageTest();package_2.packageTestB=newpackage_2.packageTest();A.pt();B.pt();}}
6、8如果有一个类A,在程序的首部申明包为packagea.b.c;,那么,A类是存放在c包中的,而c包是存放在b包中的,b包又是存放在a包中的。对于类A而言,如果申明包的语句为packagec;,那么这个申明就是错误的。习惯上,包名一般用小写字母来表示。从本章开始,每章的代码,都放在以章为名的包中,例如,本章的代码所归属的包为oop,那么本章所有程序的首行,都会有packageoop;这个申明语句。9包在项目中的树型结构图104.1.2import和importstatic一个类需要调用另一个包中的类时,通常有两种方法可以完成操作,一种是在程
7、序中显式的通过“包名.类名”的方法进行,例如,在A类中需要调用W包下的Y类,则在A中可以通过W.Y的方式来引用Y类。第二种方法是通过import关键字,在类申明之前将该类需要使用的其它外部包中的类进行导入。importX.XX.XXX…….className;importX.XX.XXX…….*;11从JDK1.5版本以后,提供了importstatic语句,专门用于导入其它包中的类中可以直接供用户调用的变量或者方法,这里的变量和方法必须是static类型才可以导入。importstaticX.XX.XXX…….className.vari
8、ableName
9、methodName;importstaticX.XX.XXX…….className.*;ImportTest.java124.2类和对象Java是彻底的面向
此文档下载收益归作者所有