Ch03 JAVA面向对象程序设计基础-补充.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ch03 JAVA面向对象程序设计基础-补充

J2EE及JAVA程序设计 第三章 JAVA面向对象程序设计基础 补充 主要内容 3.3 面向对象三大特点 3.4 类的定义—方法重载 3.5 包package 3.6 final、this及其它 3.3 面向对象编程的概念 面向对象的三大特点:封装、继承、多态 1)封装  封装就是把对象的属性和对这些属性的操作封装在一个单独的数据结构中,并尽可能隐蔽对象的内部细节,包含两个含义: 把对象的全部属性和对属性的全部操作结合在一起,形成不可分割的独立单元(即对象)。 信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。 2)继承 继承是一种由已有的类创建新类的机制。利用继承,我们可以先创建一个拥有共有属性的一般类,根据该一般类再创建具有特殊属性的新类,新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为。由继承而得到的类称为子类,被继承的类称为父类或超类。Java不支持多重继承,子类只能有一个父类。 在Java编程语言中,通过继承可利用已有的类,并扩展它的属性和方法。这个已有的类可以是语言本身提供的、其他程序员编写的或程序员原来编写的。继承在Java中无所不在。 3)多态   对象的多态是由封装和继承引出的面向对象程序设计语言的另一特征。主要体现在两个方面:方法重载时实现的静态多态和方法重载时实现的动态多态。 多态性使得我们的同一方法,可以有多种形式。另外父类中定义的属性或方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,同一个属性或方法在父类及其各个子类中可以具有不同的语义。 3.4 类的定义—方法重载 方法重载(Method Overloading)就是一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同,或者是返回值不同。 这也是面向对象的程序设计中的奇妙之处,重载反映了大千世界的变化。 从另外的含义上来讲,重载也可以看成是同一个方法具有不同的版本,每个版本之间在参数特征和返回值方面有差别。重载是Java实现多态性的一种方式。 当调用一个重载方法时,JVM自动根据当前对方法的调用形式在类的定义中匹配形式符合的成员方法,匹配成功后,执行参数类型、数量均相同的成员方法。方法重载在Java的API类库中得到大量的使用。 【例】关于成员方法重载的例子 //DemoOverload.java class Demo2{ int a,b; int method(){ //成员方法一 return a+b; } int method(int c){ //成员方法二 return a+b+c; } int method(int c,int d){ //成员方法三 return a+b+c+d; } Demo2(int a,int b) { //构造方法 this.a = a; this.b = b; } } 【例】关于成员方法重载的例子 public class DemoOverload{ public static void main(String args[]){ Demo2 aDemo2 = new Demo2(1,2); //实例化 int a = aDemo2.method(); //调用成员方法一 System.out.println(a); int b = aDemo2.method(3); //调用成员方法二 System.out.println(b); int c = aDemo2.method(3,4);//调用成员方法三 System.out.println(c); } } 上面程序的运行结果为: 3 6 10 【例】构造方法重载,// ConstructionOverload.java class Demo{ int a,b,c;//成员变量 public Demo(){} //构造方法1 public Demo(int a) { //构造方法2 this.a = a; } public Demo(int a,int b) { //构造方法3 this.a = a; this.b = b; } public Demo

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档