欢迎来到天天文库
浏览记录
ID:6158817
大小:674.60 KB
页数:23页
时间:2018-01-05
《java修饰符小论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Java中的修饰符引言在学习java时,很重要的知识点之一便是修饰符。这些修饰符的正确应用可以保证java这种面向对像的程序设计语言的特性。在本文中我们将具体而实例化的向大家介绍说明private、protected、public、static及final这四种修饰符,希望读者有所收获。正文一、privatepublicprotected面向对象的程序设计语言相对面向过程的程序设计语言最大的不同可以说是类和对象的存在,他们促使面向对象系统具有抽象性、封装性、继承性和多态性。类的成员包括两部分:数据成员及成员函数。类成员有三种访问控制权限
2、,分别是private(私有成员),public(公有成员),protected(受保护成员)在每一种访问控制权限下,均可以定义数据成员和成员函数。1、私有成员private:私有成员是在类中被隐藏的部分,它往往是用来描述该类对象属性的一些数据成员,私有成员只能由本类的成员函数访问,而类的外部函数根本就无法访问私有成员,实现了访问权限的有效控制,使得数据得以有效的保护,有利于数据的隐藏,使内部数据不能被任意地访问和修改,也不会对该类以外的其余部分造成影响,使模块之间耦合程度被降到最低。Private成员若处于类声明中的第一部分,可以省略
3、关键字private。2、23公有成员public:公有成员对外是完全开放的,公有成员一般是成员函数,它提供了外部程序与类的接口功能,用户通过公有成员访问该类中的数据。1、受保护成员protected:只能由该类的成员函数、公有派生类成员函数访问的成员。受保护成员与私有成员在一般情况下含意相同,它们的区别体现在类的继承中对产生的新类的影响不同。为了更好的解释这三种访问控制权限的使用方法,我们特结合具体程序说明:a)设A、B两个类属于同一个包,则classA中的private类成员对classB不可见,public和protected类成
4、员对于B可见。(横向调用)为此我们特意编写一个很简单的程序,创建一个包m,包含A.java文件。其中包括A、B两大类,其中A类为public类,A中只有一个构造函数publicA及三个成员函数privatevoidpri()函数、publicvoidprint()函数、protectedvoidprintln()函数,三个成员函数的功能为打印出与自己访问权限控制修饰符相对应的一句话“thisisaprivate/public/protectedmember!”。而在B类中仅含有主函数main()。main()函数中创建了一个A类对象a,
5、分别欲调用a.pri(),a.print(),a.println()。在编译过程中我们发现前一个调用函数语句出现错误,而后两个成功。这足以说明a)。源程序截图:23错误截图:修改后源程序截图:23运行结果:b)设A、B两个类属于不同的包,则A中只有public类成员对B可见。(横向调用)在上述程序中,我们把classB放在新建的n包中的B.java文件下,而m包中的其他代码不变。在源程序packagen;下添加语句importm.A;在编译过程中发现a.pri();a.println();两条语句出错,而a.print()函数调用正确。
6、此过程证明b)的正确性。源程序截图:23错误截图:修改后源程序截图:23运行结果:c)在同类中,private、public、protected修饰的类成员均可见。(此点知识应用常见而广泛)将a)中程序的主函数放于类A中,而去掉B类,程序可正确执行,即可证明c)的正确性。源程序截图:结果截图:23d)若类B为类A的子类且同包时,类A中public、protected类成员对B均可见,而private类成员依旧不可见。(纵向调用)将a)中的程序段中classB语句改为classBextendsA即可。源程序截图:错误截图:23修改后源程序
7、截图:结果截图:e)若类B为类A的子类且不同包时,类A中仅public类成员对B可见,而private,protected类成员依旧不可见。(纵向调用)23源程序截图:23错误截图:修改后源程序截图:23结果截图:二、static修饰符Static是静态变量修饰符,整体来说他是一个类修饰符,不属于任何一个对象,在任何一个对象生成之前它便已经存在于内存之中。每个对象都可以共享static修饰的成员,换言而之,每个对象都可以调用或改变它的值(你可以理解为他是一个全局变量,这样很好的保证了个成员之间的联系和产品的封装性)。可以通过类名调用,也
8、可以通过对象调用(普遍用于前者)。下面我们通过程序来具体应用修饰符static。f)创建一个新的java文件C.java。public类C中有一个static变量intcount,还有一个inta,以及一个
此文档下载收益归作者所有