Java 2实用教程第4版_第5章_子类与继承


2015/12/6
第 28 页
class Rectangle { int length; int width; Rectangle(int len , int wid) { length = len; width = wid; } /* 计算矩形的周长.*/ void getPerimeter() { System.out.println(“矩形的周长为" + (2 * (length + width))); } }
第 6 页
5.1.2类的树形结构
Java的类按继承关系形成树形结构这个树形结构中,根节点是Object类 (Object是ng包中的类),即Object是所有类的祖先类。 除了Object类每个类有且仅有一个父类,一个类可以有多个或零个子类。 如果一个类(除了Object类)的声明中没有使用 extends 关键字,这个类被系 统默认为是Object的子类,即类声明“class A”与“class A extends Object”是等 同的。
A a; a=new B(); 或 A a; B b=new B(); a=b;
这时,称对象a是对象b的上转型对象。
2015/12/6
第 21 页
1.上转型对象不能操作子类新增的成员变量;不能调用子类新增的方法。 2.上转型对象可以访问子类继承或隐藏的成员变量,也可以调用子类继承 的方法或子类重写的实例方法。上转型对象操作子类继承的方法或子类重写 的实例方法,其作用等价于子类对象去调用这些方法。因此,如果子类重写 了父类的某个实例方法后,当对象的上转型对象调用这个实例方法时一定 是调用了子类重写的实例方法。
调用父类方法
调用子类方法
2015/12/6
第 27 页
class Square extends Rectangle { Square(int len) { length = len; } /* 计算周长.*/ void getPerimeter() { System.out.println(“正方形的周长为" + (4 * length)); } }
2015/12/6
第 2 页
回顾
• 面向对象三个特征 • 封装的好处 --编程思维接近人类思维习惯 --使操作具有行为主体 --减少参数传递
2015/12/6
第 3 页
代码复用
•人类文明不断地进步,并不是现在的人比 古代的人要聪明,而是我们能不断地 “复用”前人的知识、经验。
•一切皆可复用 •举例
final 关键字可以修饰类、成员变量和方 法中的局部变量。
2015/12/6
第 17 页
§5.6.1 final类
可以使用final将类声明为final类。final 类不能被继承,即不能有子类。如:
final class A { … … }
2015/12/6
第 18 页
§5.6.2 final方法
2015/12/6
第 14 页
§5.5 super关键字
5.5.1 用super操作被隐藏的成员变量和方法
子类可以隐藏从父类继承的成员变量和方法, 如果在子类中想使用被子类隐藏的成员变量或 方法就可以使用关键字super。比如super.x、 super.play()就是访问和调用被子类隐藏的成 员变量x和方法play().
2015/12/6
第 10 页
§5.3 子类与对象
5.3.1 子类对象的特点 子类的构造方法创建一个子类的对象时,不仅子类中声明的成员变量 被分配了内存,而且父类的成员变量也都分配了内存空间,但只将子类继 承的那部分成员变量作为分配给子类对象的变量 。 子类中有一部分方法是从父类继承的,这部分方法可以操作子类未继 承的变量 。
2015/12/6
第 22 页
回顾:继承的特点
继承的特点
具有层次结构
子类继承了父类的 属性和方法
2015/12/6
第 23 页
回顾:继承的优点
继承的优点
代码的可重用性
可以轻松地自定义 子类 设计应用程序变 得更加简单
第 24 页
父类的属性和方 法可用于子类
2015/12/6
5.8 多态性 • 多态性是指“多种形式” • 它使用不同的实例而执行不同操作 • 多态包括方法重写和方法重载
Draw ()
Move ()
子类 - 绘制和移动五边形
Pentagon
Draw () { DrawPentagon } Move () { MovePentagonVertices }
2015/12/6
第 26 页
方法重写
• 父类和子类中具有相同名称和类型的方法
public static void main(String [] arg) { Rectangle rectObj = new Rectangle(10, 15); rectObj.getPerimeter(); Rectangle sqObj= new Square(15); sqObj.getPerimeter(); }
2015/12/6
第 29 页
方法重写
方法重写
子类和父类的方法具 有相同的名称和类型
super.methodname() 用于 调用父类中的方法
用子类对象调用子类 中的重写方法
2015/12/6
第 30 页
方法重载1
方法重载 方法重载
类中有多个具 类中有多个具有相 有相同名称的 同名称的方法 方法
2015/12/6
第 15 页
§5.5.2 使用super调用父类的构造方法
子类不继承父类的构造方法,因此,子类如果想使用父类的 构造方法,必须在子类的构造方法中使用,并且必须使用关键 字super来表示,而且super 必须是子类构造方法中的头一条语 句。
例子
2015/12/6
第 16 页
§5.6 final关键字
2015/12/6
第 25 页
多态性
子类 - 绘制和移动三角形
Triangle Draw () { DrawTraingle } Move () { MoveTriangleVertices }
父类 Shape
子类 - 绘制和移动矩形
Rectangle Draw () { DrawRectangle } Move () { MoveRectangleCorner }
方法具有不同的 参数列表
2015/12/6
第 31 页
2015/12/6
/*** 无参数可显示/ 方法重载 2 void display() { System.out.println("无参数可显示!!"); } /** * @param num 传递至 display 方法的参数 * @param num1 传递至 display 方法的参数 */ void display(int num, int num1) { System.out.println("两个整数是:" + num + " " + num1); } /** * @param型的 count 由 display 方法接收 */ void display(double count) { System.out.println("在 display(double)方法内:" + 演示:示例 4 count)
2015/12/6
第 13 页
3.重写的注意事项
重写父类的方法时,不允许降低方法的访问权限,但可以提 高访问权限(访问限制修饰符按访问权限从高到低的排列顺序 是:public、protected、友好的、private。)
4.JDK1.5对重写的改进
在JDK1.5版本之后,允许重写方法的类型可以是父类方法 的类型的子类型,即不必完全一致(JDK1.5版本之前要求必须 一致),比如父类的方法的类型是 People ,重写方法的类型可 以是Student(假设Student是People的子类)
2015/12/6
第继承父类的成员变量作为自己的一个成 员变量,就好象它们是在子类中直接声明一样,可以 被子类中自己定义的任何实例方法操作。 所谓子类继承父类的方法作为子类中的一个方法, 就好象它们是在子类中直接定义了一样,可以被子类 中自己定义的任何实例方法调用。
§5.4.1 成员变量的隐藏
对于子类可以从父类继承的成员变量,只要 子类中声明的成员变量和父类中的成员变量同 名时,子类就隐藏了继承的成员变量,子类自 己声明定义的方法操作与父类同名的成员变量 是指子类重新声明定义的这个成员变量。 ----------父类子类具有同名成员(变量)
2015/12/6
第 12 页
注意:开始用功了!
子类与继承
2015/12/6
第 1 页
主要内容 • 子类与父类 • 子类的继承性 • 子类与对象 • 成员变量的隐藏和方法重写 • super关键字 • final关键字 • 对象的上转型对象 • 继承与多态 • abstract类与abstract方法 • 面向抽象编程 • 开-闭原则
2015/12/6
第 4 页
§5.1 继承(子类与父类)
利用继承,可以先编写一个 共有属性的一般类,根据该一 般类再编写具有特殊属性的新 类,新类继承一般类的状态和 行为,并根据需要增加它自己 的新的状态和行为。 由继承而得到的类称为子类, 被继承的类称为父类(超类)。
2015/12/6
第 5 页
第 32 页
public static void main(String [ ] arg) { int count = 25; DisplayNumber dispObj = new DisplayNumber(); dispObj.display(); dispObj.display(10 , 20); /* 不存在具有一个 int 型参数的方法, *int 型值自动转化为 double 型值 */ System.out.println(“调用 display(double) 方法," + “使用 int 变量: " + count);
合集下载

java子类继承的规则

java子类继承的规则

java子类继承的规则Java是一门面向对象的编程语言,其中的继承是一个重要的概念。

子类继承了父类的属性和方法,可以进行扩展和重写,使得代码的复用性和可维护性都得到了提高。

本文将详细介绍Java子类继承的规则,包括继承的语法和语义,以及一些常见的注意事项。

一、语法Java中,使用关键字extends来实现类之间的继承关系。

子类继承父类的语法如下:javaclass SubClass extends SuperClass {子类的成员变量和成员方法}其中,SubClass是子类的类名,SuperClass是父类的类名。

二、继承的语义1. 子类继承了父类的非私有成员(属性和方法),包括无参构造方法。

子类对象可以直接访问从父类继承而来的属性和方法,而无需重新定义。

2. 子类可以通过继承来扩展父类的功能。

子类可以新增自己特有的属性和方法,从而实现对父类功能的扩展。

3. 子类可以重写从父类继承而来的方法。

子类可以重新定义与父类方法名相同的方法,从而改变方法的行为,这就是方法的重写。

重写的方法在子类中具有相同的方法名、参数列表和返回类型。

三、构造方法的继承1. 子类继承了父类的构造方法。

子类可以通过super关键字来调用父类的构造方法。

在子类的构造方法中使用super关键字,可以选择调用父类的显式构造方法或者默认构造方法。

2. 如果子类的构造方法没有显示的调用父类的构造方法,则默认调用父类的无参构造方法。

如果父类没有提供无参构造方法,并且子类的构造方法没有显示调用其他父类构造方法,则编译器将会报错。

这是由于子类的构造方法必须先调用父类的构造方法,再执行自己的内容。

3. 子类可以通过super关键字调用父类的特定构造方法。

子类在构造方法中使用super关键字时,可以指定要调用的父类构造方法的参数列表。

这样就可以实现在子类中初始化父类的特定值。

四、继承的限制1. 子类只能继承一个父类(单继承)。

每个类只能有一个直接父类,即使Java中存在多层继承关系,只有最近的那一个父类会被子类继承。

java继承ppt课件

java继承ppt课件
代码重用
通过继承,子类可以重用父类的代码,避 免了重复编写相同的功能,提高了代码的
复用性。
组织代码结构
通过合理的继承层次结构,可以清晰地表 达类之间的层次关系和依赖关系,使代码
结构更加清晰和易于维护。
多态性
继承是实现多态的重要手段,通过继承, 子类可以覆盖父类的方法,实现不同的行 为,增强了程序的灵活性和可扩展性。
如果父类成员没有访问修饰符 ,则默认为包级别访问,子类
只能在该包内访问。
继承的继承方式
单继承
一个子类只能继承一个父类。
实现多接口
一个类可以实现多个接口,实现多接口可以实现多个方法的重写 。
接口继承
一个接口可以继承另一个接口,子接口继承父接口的方法。
03 Java继承的实现
父类的构造方法
01
父类的构造方法在子类中默认被继承,子类可以直 接使用父类的构造方法来初始化父类的属性。
02
如果子类没有显式地定义构造方法,则编译器会自 动调用父类的无参构造方法。
03
如果父类没有定义无参构造方法,子类必须显式地 调用父类的有参构造方法。
子类的构造方法
1
子类的构造方法可以显式地调用父类的构造方法 ,使用super关键字指定要调用的父类构造方法 。
2
子类的构造方法可以同时执行自己的初始化代码 。
3
子类的构造方法可以定义自己的属性和方法,以 实现更具体的功能。
子类对父类方法的覆盖
子类可以定义与父类同名 的方法,以覆盖父类的方 法。
子类可以通过@Override 注解来表明自己覆盖了父 类的方法,以提高代码的 可读性。
ABCD
当子类对象调用该方法时 ,将执行子类中的方法, 而不是父类中的方法。

JAVA程序设计(第五章 子类与继承)

JAVA程序设计(第五章 子类与继承)

People
kate instanceof People
ture
mike instanceof People mike instanceof student mike instanceof UniverStudent
Student
kate
false
10
kate instanceof UniverStudent

例11
26
abstract类和abstract方法
用关键字 abstract 修饰的类称为 abstract 类(抽象 类)。如:

abstract class A { …… } 用关键字 abstract 修饰的方法称为 abstract 方法( 抽象方法),例如:

abstract int min(int x,int y);
4
子类的继承性

子类和父类在同一个包中的继承性
子类继承其父类中不是 private 的成员变量和成员方 法作为自己的成员变量和成员方法,继承的成员变量 和成员方法访问权限保持不变



例1:所有的类都在无名包中
Example5_1 People Student UniverStudent
5
子类的继承性

用extends来定义一个子类:
class 子类名 extends 父类名
{ … } class Student extends People { …
3
}
子类与父类

类的树形结构
•任何类都是Object的子孙类 •每个类有且仅有一个父类 •一个类可有多个子类 •一个类的定义中无extends,则默认是 Object的子类

Java2实用教程(第4版)实验指导与习题解答_IT168文库(精)

Java2实用教程(第4版)实验指导与习题解答_IT168文库(精)

上机实践1初识Java实验1一个简单的应用程序1.相关知识点Java语言的出现是源于对独立于平台语言的需要,即这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况。

目前,随着网络的迅速发展,Java语言的优势越发明显,Java已经成为网络时代最重要的语言之一。

Sun公司要实现“编写一次,到处运行”(Write once,run anywhere的目标,就必须提供相应的Java运行平台,目前Java运行平台主要分为下列3个版本。

(1Java SE:称为Java标准版或Java 标准平台。

Java SE 提供了标准的JDK开发平台。

利用该平台可以开发Java桌面应用程序和低端的服务器应用程序,也可以开发Java Applet 程序。

当前成熟的新的JDK版本为JDK 1.6。

(2Java EE:称为Java企业版或Java企业平台。

使用J2EE可以构建企业级的服务应用,Java EE平台包含了Java SE平台,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能。

(3Java ME:称为Java微型版或Java小型平台。

Java ME是一种很小的Java运行环境,用于嵌入式的消费产品中,如移动电话、掌上电脑或其他无线设备等。

无论上述哪种Java运行平台都包括了相应的Java虚拟机(Java Virtual Machine,虚拟机负责将字节码文件(包括程序使用的类库中的字节码加载到内存,然后采用解释方式来执行字节码文件,即根据相应硬件的机器指令翻译一句执行一句。

J2SE平台是学习掌握Java语言的最佳平台,而掌握J2SE又是进一步学习J2EE和J2ME所必需的。

2.实验目的本实验的目的是让学生掌握开发Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。

3.实验要求编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,欢迎学习Java”和“We are students”。

java中继承的用法

java中继承的用法

java中继承的用法
Java中继承的用法:
在Java编程语言中,继承是一种重要的概念,允许开发人员创建新类,并从现有类中继承属性和方法。

通过继承,一个类可以获得另一个类的属性和方法,并且可以在此基础上进行扩展和修改,提供代码重用和灵活性。

要实现继承,可以使用关键字"extends"。

通过继承,子类可以继承父类的非私
有成员,包括字段和方法。

这些继承的成员可以在子类中被引用和使用。

子类可以通过继承获得父类的属性和方法,并且可以在子类中添加新的属性和
方法。

这样做可以实现类之间的层次关系,更好地组织和管理代码。

继承也可以通过创建多级继承关系来进一步扩展类的层次结构。

继承还可以实现多态性,这是面向对象编程中的一个重要特征。

通过继承,可
以创建一个指向子类对象的父类引用,然后根据具体的对象类型调用相应的方法。

这种灵活性使得代码更加可扩展和可维护。

需要注意的是,Java中只支持单继承,一个类只能继承一个父类。

但是,一个
类可以同时实现多个接口,从而实现多重继承的效果。

继承还可以通过关键字"super"来调用父类的构造方法和成员。

子类可以使用"super"关键字来调用父类的构造方法并初始化父类的成员变量。

继承在Java中是一个强大且重要的特性,可以提高代码的可重用性和可维护性。

通过合理使用继承,可以构建出清晰、灵活和易于扩展的代码架构。

因此,在编写Java程序时,应该充分利用继承的特性,遵循面向对象编程的原则,以实现更好的代码质量和开发效率。

T2 继承

T2 继承

T2 继承继承:(父类更通用,子类更具体)继承是Java中实现代码重用的重要手段之一,通过extends关键字实现。

其中SubClass称为子类,SuperClass称为父类、基类或超类。

修饰符是public,表示该类在整个项目中可见,不写则该类只在当前包可见;不可以使用private和protected修饰类一个类只能继承一个父类,ng.Object类是所有类的祖先(系统默认继承Object)。

继承的好处:避免了代码的重复,方便日后的代码修改,减少代码量有些父类成员不能继承private成员子类与父类不在同包,使用默认访问权限的成员构造方法方法重写:在子类中可以根据需求对父类继承的方法重新编写,称为方法的重写或方法的覆盖。

【要求】:·重写方法和被重写方法必须具有相同的方法名。

·重写方法和被重写方法必须具有相同的参数列表。

·重写方法的返回值类型必须和被重写方法的返回值类型相同或者是其子类。

·重写方法的不能缩小被重写方法的访问权限。

重载与重写的区别:重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同,与返回值类型无关。

重写涉及的是子类和父类之间的同名方法,要求方法名相同、参数列表相同、返回值类型相同(或是其子类)。

super :如果在子类中想调用父类的被重写的方法,可以在子类方法中通过”super.方法名”实现。

super代表当前对象的直接父类对象的默认引用。

在子类中可以通过super关键字来访问父类的成员。

·super必须是出现在子类中(子类的方法和构造方法中),而不是其他位置。

·可以访问父类的成员(父类的属性、方法、构造方法)。

·super无法访问被private修饰的成员。

·不写super时会默认调用(调用时必须在方法内首行)构造方法的调用:·如果子类的构造方法中没有通过super显示调用父类的有参构造方法,也没有通过this 显示调用自身的其他构造方法,则系统会默认先调用父类的无参构造构造方法,在这种情况下,写不写”super();”语句,效果都是一样的。

【免费下载】Java2实用教程第四版


请称呼我为雷锋
2.关键字就是 Java 语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来 用。不是关键字。class implements interface enum extends abstract。 3.boolean,char,byte,short,int,long,float,double。 4.float 常量必须用 F 或 f 为后缀。double 常量用 D 或 d 为后缀,但允许省略后缀。 5.一维数组名.length。二维数组名.length。 二、选择题 1.C。2.ADF。3.B。4.BE。5.【代码 2】【代码 3】【代码 4】【代码 5】。6.B。 三、阅读或调试程序 1.低住佐佑佒体佔何佖佗佘余佚佛作佝佞佟你佡 2.答案是: 234<468 我输出结果后不回车我输出结果后自动回车到下一行 x+y= 666 234432=234432 3.属于操作题,解答略。 4.【代码 1】:4。【代码 2】:b[0]=1。 5.【代码 1】:40。【代码 2】:7 四、编写程序 1. public class E {
请称呼我为雷锋
3.x=-5,y=-1 四、编程序题 1.public class jiecheng {
public static void main(String args[]) { double sum=0,a=1; int i=1; while(i<=20) { sum=sum+a; i++; a=a*i; } System.out.println("sum main(String args[]) { System.out.println((int)'你'); System.out.println((int)'我');

Java2实用教程第4版第5章子类与继承PPT课件

重点和难点
– 重点:类的继承性、上转型对象和多态技术 – 难点:理解上转型对象和多态技术的理解和运用
2020/11/24
第2页
LOGO
§5.1 子类与父类
LOGO
➢ 继承是一种由已有的类创建新类的机制。利用继承, 我们可以先创建一个共有属性的一般类,根据该一般
类再创建具有特殊属性的新类,新类继承一般类的状
➢ 所谓子类继承父类的方法就是把继承来的方法作为子类中 的一个方法,就好象它们是在子类中直接定义了一样,可 以被子类中自己定义的任何实例方法调用。
2020/11/24
第6页
§5.2 子类的继承性
例题:子类的继承
class Father { float weight,height;
String head; void speak(String s) { System.out.println(s); } } class Son extends Father { String hand,foot; }
第5页
§5.2 子类的继承性
LOGO
➢ 类可以有两种重要的成员:成员变量和方法。子类的成员 中有一部分是子类自己声明定义的,另一部分是从它的父 类继承的。
➢ 所谓子类继承父类的成员变量就是把继承来的变量作为自 己的一个成员变量,就好象它们是在子类中直接声明一样, 可以被子类中自己定义的任何实例方法操作。
态和行为,并根据需要增加它自己的新的状态和行为。
由继承而得到的类称为子类,被继承的类称为父类 (超类)。
➢ Java不支持多重继承(子类只能有一个父类)。
2020/11/24
第3页
5.1.1 声明子类
LOGO
➢ 使用关键字extends来定义一个类的子类,格式如下: class 子类名 extends 父类名 { … }

java 继承的方法

java 继承的方法Java 继承的方法Java 是一门面向对象的编程语言,继承是面向对象编程中极为重要的一个特性,实现了代码的复用和简化。

本文将详细介绍 Java 继承的方法。

1. 什么是继承?在 Java 当中,继承指的是子类继承父类的属性和方法。

子类是指继承父类的类,父类是指被继承的类。

2. 如何实现继承?Java 实现继承有两种方法:使用 extends 关键字和使用实现接口。

(1) 使用 extends使用 extends 关键字来继承一个类,子类会自动拥有父类的属性和方法,可以使用 super 关键字来调用父类的构造方法和方法。

(2) 使用实现接口使用实现接口可以让类实现某些方法,这些方法在接口中被定义,而在实现类中被具体实现。

使用实现接口的方式无法继承属性,但可以让多个类实现同一个接口,从而达到代码复用的目的。

3. 继承的注意事项在 Java 中,继承有一些注意事项:(1) 子类不能访问父类的私有属性和方法。

(2) 子类可以访问父类的公有属性和方法。

(3) 子类可以重写父类的方法,但必须使用 override 关键字来标记。

(4) 子类可以使用 super 关键字来调用父类的构造方法和方法。

(5) 子类可以继承多个父类的属性和方法,但 Java 不支持多重继承。

4. 继承的优缺点继承的优点:(1) 提高代码复用性,减少代码冗余。

(2) 提高代码的可维护性和可扩展性。

(3) 继承可以定义一组对象的公共行为,符合面向对象的设计思路。

继承的缺点:(1) 继承会增加代码的耦合度,将子类和父类紧密地耦合起来,改动父类会影响到所有的子类。

(2) 继承可能会导致代码的继承错综复杂,增加调试和维护的难度。

5. 总结Java 继承是面向对象编程中非常重要的特性。

继承的实现方式有两种方法:使用 extends 关键字和使用实现接口。

继承的注意事项包括子类访问父类的属性和方法、重写父类的方法等。

继承的优点包括提高代码复用性和可维护性,缺点是代码的耦合度和代码的复杂度会增加。

Java编程基础及应用(第2版)教学课件第5章 类和对象

变量定义及初始化;〃声明成员变量 [方法修饰字]返回值的数据类型方法名称(参数1,参数 2...)
{ 程序语句! 〃定义成员方法 [return表达式];
} }
7
§5.1.2 类的定义
说明: (1) class关键字,用于定义类。“class类名”是类的声明 部分, 类名必须是合法的Java标识符,通常第一个字母大写 ,能体现类的功能和作用。 (2 )类的修饰字有:[public] > [abstract | final] 、缺省方式 为 friendly。其中,abstract类不能直接产生属于这个类的对 象;final类不能被其他任何类所继承;public类不但可以被同 一程序包中的其他类使用,别的程序包中的类也可以使用; friendly(缺省)类只能被本包中的其他类使用。
一个对象 就要为对象的各个成员变量分配存 储空间,可以通过 引用对象的成员来使用对 象。 -对象数据成员的引用方式如下:
-对象成员方法的引用方式如下:
22
§5.1.3 对象的创建、使用及清除
例5.3定义DogTestl类,创建该类对象dog,使用该对象 并输
岀相应信息。
程序运行结果: dog阿黄的年龄:3,毛发的颜色:黄色 狗在汪汪叫…
(4) 方法不能嵌套,即不能在方法中再声明其他方法。 (5) 同一个类中的方法可以访问该类的成员变量。 (6) 一个类的方法只能访问自己的局部变量。
17
§5.1.2 类的定义
-例5.1定义Dog类,并设置其属性和方法。
在上面的程序屮,Dog类定义了name、age和color三 个属性,分别表示狗的姓名、年龄和毛发颜色,然后 定义了一个bark()方法,表明狗有汪汪叫的能力。
返回值的 类型和访问限制;方法体由括号内的声明部分和语 句部分组成,描述方法的功能。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档