面向对象程序设计进阶上

面向对象程序设计进阶上

ID:40719691

大小:243.81 KB

页数:12页

时间:2019-08-06

面向对象程序设计进阶上_第1页
面向对象程序设计进阶上_第2页
面向对象程序设计进阶上_第3页
面向对象程序设计进阶上_第4页
面向对象程序设计进阶上_第5页
资源描述:

《面向对象程序设计进阶上》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象程序设计(上)类的继承访问控制方法覆盖类的继承面向对象最重要的特点之一,就是可以实现对类的复用通过“继承”一个现有的类,可以使用已经定义的类中的方法和变量。类的方法可以被继承,但是类的构造器不能被继承。类的继承(con.)类继承的基本语法:class[extends]{*}在Java中,一个类只能继承继承一个父类,这种方式叫做单继承。这一点和C++不一样。类的继承(con.)java.lang.Object类是所有类的父类虽然一个类只可以继承一个父类,但是一个父类却可以被多个子类

2、所继承。从子类的角度看,它是“继承(extends)”父类;而从父类的角度看,它是“派生(derive)”子类。它们指的都是同一个动作,只是角度不同而已。类的继承例子(案例6-1)类的继承例子:publicclassAnimal{privateintweight;publicintgetWeight(){returnweight;}publicvoidsetWeight(intw){weight=w;}}类的继承例子(con.)publicclassDogextendsAnimal{/***子类新增方法*/publicvoidBark(){System.out.pri

3、ntln("Wang~~Wang~~~");}}类的继承例子(con.)publicclassMyDog{privatestaticDogmyDog;publicstaticvoidmain(Stringargs[]){myDog=newDog();myDog.setWeight(50);System.out.println("MyDog'sWeightis"+myDog.getWeight());myDog.Bark();}}访问控制在Java中,可以在类、类的属性以及类的方法前面加上一个修饰符(modifier),来对类进行一些访问上的控制。修饰符同一个类中同一个

4、包中子类中全局privateYesdefaultYesYesprotectedYesYesYespublicYesYesYesYes访问控制(con.)访问控制的限制程度从高到低如下图所示。注意,Default不是一个修饰符,它只是用来表示一种不加任何修饰符时的状态。privateDefaultprotectedpublic方法的覆盖(override)当子类继承符类时,可以从父类继承它的属性和方法。如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。当对父类的方法进行覆盖时,子类中的方法必须和父类中对

5、应的方法具有相同的方法名称、输入参数和返回值。子类中的覆盖方法不能使用比父类中被覆盖方法更严格的访问权限。方法的覆盖例子(案例6-2)publicclassPerson{Stringname;intage;Stringsex;publicStringshowName(){returnname;}……}方法的覆盖例子(con.)publicclassTeacherextendsPerson{privateStringdepartment;publicvoidsetDepartment(Stringdept){department=dept;}publicStringge

6、tDepartment(){returndepartment;}//方法覆盖publicStringshowName(){returnname+"老师";}……}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。