中国高校课件下载中心 》 教学资源 》 大学文库

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

文档信息
资源类别:文库
文档格式:PPT
文档页数:59
文件大小:228KB
团购合买:点击进入团购
内容简介
《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 : "); } }

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档