版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计基础(三)目录CONTENTS掌握Java中继承的概念及使用;01掌握Java中多态的概念及使用;02掌握Java中接口的概念及使用。03一、继承的概念在面向对象程序设计中,继承的实体是类,是指我们可以在一个现有类(父类)的基础上定义一个新类(子类),子类拥有父类的成员。在Android编程中,一个程序中的类大部分是从Android提供的某个父类派生而来的。继承的语法格式为:[修饰符]class子类名extends父类名publicclassMainActivityextendsAppCompatActivity{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}二、继承的使用原则
子类可以继承父类中所有可被子类访问的成员变量和成员方法,但必须遵循以下原则:(1)子类能够继承父类中被声明为public和protected的成员变量和成员方法,但不能继承被声明为private的成员变量和成员方法;(2)子类能够继承在同一个包中的由默认修饰符修饰的成员变量和成员方法;(3)如果子类声明了一个与父类的成员变量同名的成员变量,则子类不能继承父类的成员变量,此时称子类的成员变量隐藏了父类的成员变量;(4)如果子类声明了一个与父类的成员方法同名的成员方法,则子类不能继承父类的成员方法,此时称子类的成员方法覆盖了父类的成员方法。
三、使用super关键字
super关键字主要有以下两种用途。(1)调用父类的构造方法。子类可以调用父类的构造方法,但是必须在子类的构造方法中使用super关键字来调用。其具体的语法格式如下:super([参数列表]);如果父类的构造方法中包括参数,则参数列表为必选项,用于指定父类构造方法的入口参数。(2)操作被隐藏的成员变量和被覆盖的成员方法。如果想在子类中操作父类中被隐藏的成员变量和被覆盖的成员方法,也可以使用super关键字。语法格式为:super.成员变量名super.成员方法名([参数列表])四、多态的概念多态是面向对象程序设计的重要部分,是面向对象的3个基本特性之一。多态是指同一类对象在收到同一个消息时表现出的不同行为。在Java语言中,通常使用方法的重载(Overloading)和覆盖(Overriding)实现类的多态性。
五、方法的重载方法的重载是指在一个类中,出现多个方法名相同,但参数个数或参数类型不同的方法。Java在执行具有重载关系的方法时,将根据调用参数的个数和类型区分具体执行的是哪个方法。重载的例子:classA{ …… intdoSomeThing(intI){return8} intdoSomeThing(floatf){return8} voiddoSomeThing(intI,floatf){}}六、方法的覆盖方法覆盖是指在子类中重写父类的方法,它们的名称、所要求的参数以及返回类型完全相同,通过改写方法体去完成不同的功能。覆盖体现了子类补充或者改变父类方法的能力,通过覆盖,可以使一个方法在不同的子类中表现出不同的行为。在Android程序中定义的类经常需要通过重写父类的方法实现具体的功能。例如下面的类Activity3中就重写了父类的onCreate()方法,实现了Activity启动之后一些界面加载、变量声明、事件处理及初始化的工作。publicclassActivity3extendsAppCompatActivity{
Buttonbtn1,btn2;
TextViewtxt;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_3);
btn1=(Button)findViewById(R.id.btn1);
btn2=(Button)findViewById(R.id.btn2);
txt=(TextView)findViewById(R.id.tv2);
btn1.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewview){
}
});六、方法的覆盖classMyClickListenerimplementsOnClickListener{publicvoidonClick(Viewv){ TextViewtv=(TextView)findViewById(R.id.tv2);
switch(view.getId()){
caseR.id.btn1:
tv.setText("你单击了确定按钮");
break;
caseR.id.btn2:
tv.setText("你单击了取消按钮");
break;}}六、方法的覆盖七、接口简介
Java中的接口是一个特殊的抽象类,接口中包含了若干个抽象方法。接口有如下特点:接口中只有常量接口中只有方法的声明,没有方法体接口中的方法,永远都被public来修饰接口中没有构造方法,也不能实例化接口对象接口中定义的方法都需要实现类来实现,如果实现类不能实现接口中的所有方法,则实现类需要定义为抽象类使用接口可以实现多继承八、接口的定义
接口定义格式如下:[修饰符]interface接口名[extends父接口名列表]{[public][static][final]常量;[public][abstract]方法;}修饰符:可选,用于指定接口的访问权限,可选值为public。如果省略则使用默认的访问权限。接口名:必选,用于指定接口的名称,接口名必须是合法的Java标识符。一般情况下,要求首字母大写。extends父接口名列表:可选参数,用于指定要定义的接口继承于哪个父接口。当使用extends关键字时,父接口名为必选参数。方法:接口中的方法只有定义而没有被实现。publicinterfaceInterfaceName
{ doSomeThing(); doSomeThingElse(intk); floatff=0.3f;}八、接口的定义
九、接口的实现
接口可以被类实现,一般语法格式为:[修饰符]class<类名>[exte
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玩忽职守罪中“重大损失”的司法认定与实践困境破解
- 某印刷厂印刷质量管控细则
- 猫杯状病毒单克隆抗体的制备及抗原表位鉴定:技术、应用与展望
- 猪繁殖与呼吸综合征病毒快速诊断方法的构建与实证研究
- 2026年新入职互联网公司办公软件与协同工具问答
- 2026年财经管理好用技能试题
- 2026年通信行业网络优化与维护技术题
- 2026年公共游泳池安全管理及救生员测试题
- 2026年健康教育与健康管理知识测试题
- 2026年消防安全知识及应急处置
- 汽车能源管理规程
- 连铸安全培训资料
- 4s店与二手车公司协议合同
- 国企投后管理办法
- 数据需求管理办法
- 乳及乳制品的腐败变质食品微生物学09课件
- 海上油气开发装备国产化
- 肾弥漫性疾病超声诊断
- 工程项目绩效管理
- 2024联易融线上用印软件使用手册
- 中医药膳食疗的养生作用
评论
0/150
提交评论