- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 面向对象的程序设计 面向对象程序设计的基本概念 类和对象 继承和多态 内部类和匿名类 包的创建和引用 4.1 面向对象程序设计的基本概念 类和对象是面向对象程序设计的核心。编写程序对一个问题的求解的过程可以看作是定义类和对象的过程。 对象:是构成系统的最基本的单位。 属性(静态特征):用成员变量表明对象的状态 对象 行为(动态特征):用方法来描述 消息:对象通过相互间传递消息来相互作用和通信。 封装:设计类时候,把描述对象属性的变量及实现对象功能的方法封装在一起。 类的继承 继承是父类和子类之间共享数据和方法的机制 继承使得子类可以利用父类中定义的方法和变量,就像它们属于子类本身一样 提高代码的可重用性和软件开发效率 多态性 多态性指的是一个名称可以具有多种语义。利用多态性,用户给不同对象发出同一个消息,能够得到不同的结果 。 多态性体现在方法的重载、方法覆盖、成员变量的覆盖。 4.2 类和对象 类的定义 格式: [修饰符] class 类名[extends 父类][implements 接口名] { // 成员变量; // 成员方法; } 注意: [修饰符]可以是:[public][abstract|final] 成员变量的定义格式: [修饰符] 类型 成员变量名; 成员方法的定义格式: [修饰符] 返回值类型 方法名(参数表) { // 方法体; } 这时,[修饰符]可以是:[public|protected|private][static][final] 访问权限 public:限定为public的成员可以被所有的类访问。 private:限定为private的成员只能被这个类本身的成员方法访问。 protected:限定为protected的成员可以被该类的子类或同一个包中的其它类访问。 缺省权限(friendly):具有包访问权限。 例4.2 类中的成员的访问权限。(A.java、D.java) 构造函数 构造函数是类中的特殊的方法,其特殊性表现在: 构造函数的名称和类名相同; 构造函数没有返回值类型; 当该类被实例化时,构造函数自动被调用。因此,构造函数的作用—对类对象中的成员进行初始化。 默认构造函数 public 类名(){} 例4.3 默认构造函数对成员变量自动初始化(Person) 构造函数的重载 当一个类有多个重载的构造函数时,创建该类对象的语句会根据给出的实际参数的个数、参数的类型、参数的顺序自动调用相应的构造函数。 当一个类有多个重载的构造函数时,它们之间可以相互调用的。方法:通过this关键字。 例4.4 构造函数的相互调用。(Person类) 对象的创建和使用的进一步说明 对象的赋值 基本数据类型的变量之间的赋值:int x,y=8; 对象的赋值 例如:Person p1; //没有给p1分配内存,p1为null。 Person p2=new Person(“Jack”,’m’,25); Person p3=new Person(“Jack”,’m’,25); 如果有:p1=p2;则相当于 例4.5 对象的赋值 在类内部使用本类对象—this引用 在一个类的内部,可以引用本类对象。将每个对象对其自身的引用,称为this引用。this表示对象本身。 例4.6 this引用。 对象的清除 对象的生命周期: 类的静态属性和静态方法 静态属性:用static修饰的属性(变量) 静态成员变量不属于任何一个具体的对象,而是该类的所有对象所共享。 4.3 继承和多态 注意: 父类:被继承的类。 子类:继承后产生的新的类。 类的继承提高了程序代码的重用性和可扩充性,缩短了软件开发的周期。 Java语言以Object类作为所有其他类的父类。 分类:单继承---------子类只能有一个直接父类 多重继承------子类可以有多个直接父类 类继承的实现 通过关键字extends实现类的继承,格式为: [修饰符] class 子类名 extends 父类名 { 类体; } 子类对父类构造函数的继承和调用 构造函数是可以继承的。 子类无条件的继承父类不含参数的构造函数。当通过子类不含参数的构造函数创建子类对象时,先执
原创力文档


文档评论(0)