- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]JAVA20-5
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5.3.3 方法修饰符 native修饰的本地方法 修饰符native修饰的方法称为本地方法,此方法使用的目的是为了将其他语言(例如C、C++、FORTRAN、汇编等)嵌入到Java语言中。这样Java可以充分利用已经存在的其他语言的程序功能模块,避免重复编程。 在Java程序中使用native方法时应该特别注意平台问题。由于native方法嵌入其他语言书写的模块是以非Java字节码的二进制代码形式嵌入Java程序的,而这种二进制代码通常只能运行在编译生成它的平台之上,所以整个Java程序的跨平台性能将受到限制或破坏,除非native方法引入的代码也是跨平台的。 5.3.4 访问控制 一个类总能够访问自己的数据成员和成员方法。 其他类是否能访问这个类的数据成员或成员方法,是由该类的访问控制符及该类数据成员和成员方法的访问控制符决定的。 5.3.4 访问控制 访问控制符是一组限定类、数据成员或成员方法是否可以被其他类访问的修饰符。 类的访问控制符只有public一个,缺省访问控制符时具有“友好访问”的特性。 数据成员和成员方法的访问控制符有public、private、protected和缺省访问控制符等几种。见下表。 5.3.4 访问控制 类 数据成员与方法 Public 缺省 public 所有类 包中类(含当前类) protected 包中类(含当前类),所有子类 包中类(含当前类) 缺省(friendly) 包中类(含当前类) 包中类(含当前类) private 当前类本身 当前类本身 表 类、数据成员和成员方法的访问控制符及其作用 5.3.4 访问控制 1.private private成员只能被它所定义的类或类的不同对象所访问。外部访问这个变量就会出错,因为如果private的方法被外部类调用,就会使得程序或对象处于不安全状态。private成员就像不能告诉任何人的秘密,所以,任何不需要他人直接访问的成员都应该定义为private类型。 2.protected 定义为protected的类成员允许类本身、子类以及在相同包中的类访问它。一般来说,需要子类访问的成员,可以使用protected进行限制。protected成员就像家庭秘密,家里人知道无所谓,但是却不让外人知道。 5.3.4 访问控制 3.public public是Java中最简单的访问控制符。修饰为public的成员在任何类中、任何包中都可以访问,它相当于是无任何秘密可言,从其使用角度来看,有点相当于C语言中的外部变量。 4.缺省 Java中如果不显式设置成员访问控制的时候,即缺省的访问控制,该访问控制允许在相同包中的类成员之间相互可以访问。就像在相同包中的类是互相信任的朋友。 5.4 Java的接口 5.4.1 接口的概念 5.4.2 接口的定义 5.4.3 接口的实现 5.4.4 示例 5.4.1 接口的概念 Java出于安全性、简化程序的考虑,不支持类间的多继承关系即一个子类只有一个父类。 但在实际开发过程中,可能会碰到需要多重继承的情况,为了使Java程序的类间层次更加合理,更符合实际问题的本质,Java提供接口来实现多重继承。 接口是一系列没有实现的方法和常量的组合,它提供方法协议的封装,但不限制子类如何实现这些方法,从而使得类的继承变得简单而灵活。 通过接口可以使处于不同层次、互不相干的类具有相同的行为。 5.4.1 接口的概念 接口的功能可以归纳为如下几点: 通过接口可以实现不相干类的相同行为而不需考虑这些类之间的层次关系 通过接口可以指明多个类需要实现的方法 通过接口可以了解对象的交互界面而不需了解对象所对应的类 5.4.2 接口的定义 接口的定义 与类的定义格式相似,接口的定义格式如下: [修饰符] interface 接口名 [extends 父接口名列表] { //常量数据定义 //抽象方法定义(抽象方法头) } 5.4.2 接口的定义 例如: //声明一个student接口 public interface student { String name = Name; //... ...
文档评论(0)