《Java语言》课程教学课件(PPT讲稿)第六章 深入面向对象的程序设计

第六章深入面向对象的程序设计 继承与重载 接口 三、包 四、方法 五、错误、异常及其处理
第六章 深入面向对象的程序设计 一、继承与重载 二、接口 三、包 四、方法 五、错误、异常及其处理

、继承与重载 的继承 在Java中,类是一个层次结构,其中有 个被称为0 bject的特殊超类,所有的类都 直接或间接地继承0 bject类 子类继承父类的属性和方法,同时也可以 修改父类的属性或重载父类的方法,以及在 父类的基础上添加新的属性和方法。因此, 父类和子类之间反映的是“一般与特殊”的 关系
一、继承与重载 1、类的继承 在 Java 中,类是一个层次结构,其中有 一个被称为Object的特殊超类,所有的类都 直接或间接地继承Object类 子类继承父类的属性和方法,同时也可以 修改父类的属性或重载父类的方法,以及在 父类的基础上添加新的属性和方法。因此, 父类和子类 之间反映的是“一般与特殊”的 关系

子类的定义格式 「修饰符1子类名 extends父类名 类体 《注意》 1、没有 extends,默认父类为 Object 2、只能有一个父类,即单继承 3、子类继承父类的全部成员 4、类继承具有传递性
子类的定义格式 [修饰符] 子类名 extends 父类名 { 类体; } 《注意》 1、没有extends,默认父类为Object 2、只能有一个父类,即单继承 3、子类继承父类的全部成员 4、类继承具有传递性

class B int b1 =1; blic int b2=2, protected int b3=3 private int b4=4; int getb4(return b4; 1 class a extends B int a 5 int Sum(i return b1+b2+ b3+ getb40)+a; I
class B { int b1 = 1; public int b2 = 2; protected int b3 = 3; private int b4 = 4; int getb4( ) { return b4; } } class A extends B { int a = 5; int Sum( ) { return b1 + b2 + b3 + getb4( ) + a ; } }

public class classlnheritance static public void main(String argI ]) B bb= new BO; System. out. printIn(B: +bb b1++bb b2+ +bb. b3++bb. getb4() a aa=new a(; System. out. printIn(A: +aa b1++aa b2+ ""+ab3+""+ aa. getb4()+ +aaa++ aaSum();
public class ClassInheritance { static public void main(String arg[ ]) { B bb = new B( ); System.out.println("B: "+bb.b1+" "+bb.b2+ " "+bb.b3+" "+bb.getb4( )); A aa = new A( ); System.out.println("A: "+aa.b1+" "+aa.b2+ " "+aa.b3+" "+aa.getb4( ) + " "+aa.a + " " + aa.Sum( ) ); } }

class b class C extends a int b1= 1; int c= 6 public int b2=2, void change(int increase) protected int b3=3; private int b4= 4; b1 + increase int getb4(lreturn b4; I b2 + increaser b3 + increase, void setb4(int i) b4=i;] setb4( getb4()+ increase a t= increaser class a extends B ct= increase int a=5:
class B { int b1 = 1; public int b2 = 2; protected int b3 = 3; private int b4 = 4; int getb4( ) { return b4; } void setb4( int i ) { b4 = i; } } class A extends B { int a = 5; } class C extends A { int c = 6; void change( int increase ) { b1 += increase; b2 += increase; b3 += increase; setb4 ( getb4( ) + increase ); a += increase; c += increase; } }

public class CPP static public void main(String argI D) C cc=new CO; System. out.println(C: +cc b1++ccb2++ cc. b3++cc.getb4(++cc.a++cc.c); ccchange( 15 ) System. out.println (C: +cc b1++ccb2++ cc. b3++cc. getb40)++cc. a++cc. c);
public class CPP { static public void main(String arg[ ]) { C cc = new C( ); System.out.println("C: "+cc.b1+" "+cc.b2+" "+ cc.b3+" "+cc.getb4( ) +" "+cc.a+" "+cc.c); cc.change( 15 ); System.out.println("C: "+cc.b1+" "+cc.b2+" "+ cc.b3+" "+cc.getb4( ) +" "+cc.a+" "+cc.c); } }

子类与父类的属性与方法 击类继承父类的所有内容,但父类中的 private部分不能直接访问 子类中新增加的属性和方法是对父类的扩 展 子类中定义的与父类同名的属性是对父类 属性的隐藏,同名的方法是对父类方法的重 载或覆盖
子类与父类的属性与方法 子类继承父类的所有内容,但父类中的 private部分不能直接访问 子类中新增加的属性和方法是对父类的扩 展 子类中定义的与父类同名的属性是对父类 属性的隐藏,同名的方法是对父类方法的重 载或覆盖

类的成员覆盖 类成员覆盖是指在子类中新增加的成员变 量或成员方法的名称与父类相同。 2、成员变量:在子类中,访问的是子类定义 的成员变量,若要使用父类的成员,需要使用 关键字 super作为前缀; 3、成员方法:若参数表完全一样,欲使用父 类中的成员函数,也需要使用 super作为前缀
类的成员覆盖 1、类成员覆盖是指在子类中新增加的成员变 量或成员方法的名称与父类相同。 2、成员变量:在子类中,访问的是子类定义 的成员变量,若要使用父类的成员,需要使用 关键字super 作为前缀; 3、成员方法:若参数表完全一样,欲使用父 类中的成员函数,也需要使用super 作为前缀

class a intx=1234; void show( I System. out.println(classA: ");1 class b extends a doublex=567.89 void showo super show(; System. out. println("class B: )
class A { int x = 1234; void show( ) { System.out.println("class A : "); } } class B extends A { double x = 567.89; void show( ) { super.show( ); System.out.println("class B : "); } }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《Java语言》课程教学课件(PPT讲稿)第五章 接口、包.ppt
- 《Java语言》课程教学课件(PPT讲稿)第二章 Java语言基础.ppt
- 《Java语言》课程教学课件(PPT讲稿)第三章 数组.ppt
- 《Java语言》课程教学课件(PPT讲稿)第七 常用工具.ppt
- 《Java语言》课程教学课件(PPT讲稿)第一章 Java语言概述.ppt
- 《c++语言编程》课程教学资源(PPT课件)第四章复习.ppt
- 《c++语言编程》课程教学资源(PPT课件)第四章 指针和引用.ppt
- 《c++语言编程》课程教学资源(PPT课件)第五章 继承和派生类.ppt
- 《c++语言编程》课程教学资源(PPT课件)第二章 函数.ppt
- 《c++语言编程》课程教学资源(PPT课件)第三章 类与对象.ppt
- 《c++语言编程》课程教学资源(PPT课件)第一章 C++语言编程入门.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第9章 局域网技术.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第8章 局域网体系结构.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第7章 应用层协议.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第6章 传输层.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第5章 网络层.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第4章 数据链路层.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第3章 物理层.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第2章 数据通信.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第1章 计算机网络基础.ppt
- 《Java语言》课程教学课件(PPT讲稿)第四章 面向对象程序设计基本概念.ppt
- 《UNIX》授课教案(PPT教学课件,讲稿).ppt
- 高等教育出版社:《Visual FoxPro应用基础与面向对象程序设计教程》配套教学课件(PPT讲稿,共十六章).ppt
- 路由协议_Bgp.doc
- 中国电信数据通信局:路由协议_Chinanet路由政策.doc
- 路由协议_Chinatnet路由策略ip solution部分.doc
- 路由协议_Ospf.doc
- 路由协议_Rip-2协议.doc
- 路由协议培训教材:动态路由协议培训.doc
- 路由协议_视聆通路由分析.doc
- 路由协议_路由器与互连网.doc
- 数据库技术与数据库服务器.ppt
- 《计算机基础知识》课程教学课件(PPT讲稿)计算机概述(1/2)第一节 计算机概述.ppt
- 《计算机基础知识》课程教学课件(PPT讲稿)计算机概述(2/2)第二节 计算机中数的表示和编码.ppt
- 《计算机基础知识》课程教学课件(PPT讲稿)8086/8088微处理器(1/5).ppt
- 《计算机基础知识》课程教学课件(PPT讲稿)8086/8088微处理器(2/5).ppt
- 《计算机基础知识》课程教学课件(PPT讲稿)8086/8088微处理器(3/5).ppt
- 《计算机基础知识》课程教学课件(PPT讲稿)8086/8088微处理器(4/5).ppt
- 《计算机基础知识》课程教学课件(PPT讲稿)8086/8088微处理器(5/5).ppt
- 《计算机基础知识》课程教学课件(PPT讲稿)汇编语言程序设计(1/4).ppt