面向对象程序设计包 继承 问权限面向对象程序设计包 继承 访问权限面向对象程序设计包 继承 访问权限面向对象程序设计包 继承 访问权限.doc

面向对象程序设计包 继承 问权限面向对象程序设计包 继承 访问权限面向对象程序设计包 继承 访问权限面向对象程序设计包 继承 访问权限.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 面向对象程序设计:包、继承、访问权限 包 包是java语言有效管理类的方式,将同一个应用的类打入一个包中,把不相关或者是完成不同功能的类放入不同的包中,使得管理类变的更容易。 关键字package package语句作为Java源文件的第一条语句,指明该源文件定义的类所在的包。package语句的一般语法格式为: package 包名; package 包名 包的命名规则: 1.使用英文字母作为包的名称。 2.包名要求全部使用小写字母表示(多个单词也全部小写)。 3.如果包名包含多个层次,每个层次应该用“.”分割。 例如: package helloworld package com.shxt.hello.world 关键字import 使用import关键字可以将其他包中的类引入到当前类中以备使用。在编写源文件时,除了自己编写类外,我们经常需要使用Java提供的许多类,这些类可能在不同的包中。如果需要引入其他包中的类,可以使用如下语法格式: import 包名.类名; import关键字 1.如果要引入某个包中的所有类,可以使用如下语法格式: import 包名.*; 2.在学习Java语言时,使用已经存在的类,避免一切从头做起,是 学习面向对象编程的一个重要方面。 示例:引包 关键字extends(继承) 继承是面向对象编程的三大特征之一。 继承是一种基于已有的类创建新类的机制。利用继承,我们可以先创建一个具有共有属性的一般类,根据该一般类再派生出具有特殊属性的新类,新类继承一般类的状态(成员变量)和行为(方法),并根据需要增加额外的状态(成员变量)和行为(方法)。由继承而得到的类称为子类(或派生类),被继承的类称为父类(或超类)。Java中每个类只允许有一个父类。语法如下:class 子类 extends 父类 访问权限 当使用某个类创建了相应的对象之后,可以使用对象名.变量名和对象名.方法名这样的语法格式访问变量和方法。但这种访问是受权限限制的,使用private、protected和public设置相应的权限级别。 在java中共有4种访问级别,按访问权限由高到低为:public(公有的)、protected(受保护的)、友好的(没有任何访问权限关键字修饰)和private(私有的)。 访问级别规则表: 访问级别 示例:访问级别 示例:访问级别 子类访问父类规则 根据访问级别规则表,可知:1.任何类都可以访问其他类的public成员变量和方法;2.子类可以访问父类的protected成员变量和方法;3.所以子类访问父类成员变量和方法的 关键在于父类和子类是否在同一个包中。 具体表现如下表: 成员变量的隐藏和方法重写 当子类的成员变量和父类中的成员变量同名(数据类型可以不一样)时,父类的成员变量不能被子类继承(即被子类的成员变量覆盖),此时称子类的成员变量隐藏了父类的成员变量。 当子类方法的名字,返回类型,及参数个数和参数类型与父类的方法完全相同时,父类的同名方法将被隐藏。而这种子类方法覆盖父类方法的现象叫做重写。 成员变量的隐藏和方法重写可以使子类替换父类中并不适合子类的状态(变量)和行为(方法),从而使继承更加灵活。 示例:隐藏和重写 子类对象的调用规则 对于子类实例化的一个对象,如果在子类中重写了父类的方法,则运行时系统调用子类重写的方法;如果子类继承了父类的方法(未重写),那么子类实例化的对象会调用继承自父类的方法。 重写规则: 1.子类覆盖父类的同名方法叫做重写,重写必须满足如下条件: (1)方法的返回值类型必须相同。 (2)方法的参数个数必须相同。 (3)方法的参数对应的数据类型必须相同。 (4)子类方法不得降低父类同名方法的访问级别。 例如:父类的方法访问权限是protected,则子类重写该方法时必须使用protected或者是public。(也就是说,子类重写方法的访问权限必须大于等于父类同名方法的访问权限)。 示例:重写违规 如上:子类Whale重写了父类Mammal的run方法,但是将访问权限从public降低到了protected,这是不允许的,违反了重写规则 关键字final final关键字可以用来修饰类、方法和变量。 1.final修饰的类不能被继承。 2.final修饰的方法不能被重写。 3.final修饰的变量是常量,不能修改其值。 语法示例如下: 关键字this this关键字表示当前类的内部实例对象,类似于外部实例,但是this可以访问所有级别的成员变量和方法。 this使用原则: 1.this是当前类的内部对象,所以和类的外部对象访问类成员变量 和方法的规则一致,语法:this.变量名和this

您可能关注的文档

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档