- 14
- 0
- 约6.73千字
- 约 27页
- 2015-08-14 发布于湖北
- 举报
java课件继承和多态.ppt
类的继承 被继承的类称为父类或者超类或者基类 继承父类的类称为子类或者派生类 执行继承时,子类将获得父类的所有成员(包括private的成员),并具有自身特有的属性。 extends关键字 extends关键字用于继承类。 声明一个继承父类的类的通常形式如下: class subclass-name extends superclass-name { //类体 } 没有extends,默认父类为Object 一个类只能有一个父类,即单继承 子类继承父类的全部成员 继承示例 class Employee { String name; //姓名 char sex; //性别 Employee(String n, char s){ name = n; sex = s; } public String getName() { return name; } public char getSex(){ return sex;}} 继承分析 在子类中不能直接访问父类中的私有成员 子类和父类之间应该有“IS-A”关系 不要滥用继承,只有在分类学上有意义时,才应该使用继承 子类具有扩展超类的责任 继承的目的就是为了代码复用 里式代换原则 定义:无论何时,只要程序需要一个超类对象,那么就可以用一个子类对象来替代它。 Employee e; e=new Employee();//需要超类Employee对象 e=new Manager();//用子类对象替换掉超类对象 注意:反过来是不行的 多态和动态绑定 声明类型:对象变量被声明时的类型 实际类型:对象变量实际指向的对象类型 一个对象变量可以指向多种实际类型的现象称为“多态” 在运行时自动选择正确的方法进行调用的现象称为“动态绑定” Java根据对象的实际类型来进行方法调用 方法重载(overloading) 方法重载是Java实现面向对象的多态性机制的一种方式。 同一个类中多个方法有相同的名字,不同的参数列表,这种情况称为方法重载。 当重载方法被调用时,Java编译器根据参数的类型和数量来确定实际调用哪个重载方法的版本。 方法重载不考虑方法的返回类型。 重载构造函数 一个类可以有多个构造函数 如果一个类没有定义一个构造函数,Java 编译器将为这个类自动提供缺省构造函数(即无参的构造函数) 缺省构造函数将成员变量的值初始化为缺省值 一旦创建了自己的构造函数, Java 编译器将不再自动提供无参的构造函数。 重载构造函数提供了一组创建对象的方式,可以根据需要决定是否带初始参数。 方法覆盖(override) 方法覆盖是Java实现多态性机制的另一种方式。 在类层次结构中,如果子类中的一个方法与父类中的方法有相同的返回类型、相同的方法名并具有相同数量和类型的参数列表,这种情况称为方法覆盖。 当一个覆盖方法通过父类引用被调用,Java根据当前被引用对象的实际类型来决定执行哪个版本的方法。 可以通过super关键字调用直属父类中被覆盖的方法版本。 方法覆盖示例 class SuperClass { int a; SuperClass(){ a = 10; } public void printA(){System.out.println(父类中a =+a);} } class SubClass extends SuperClass { int a; SubClass(int a){ this.a = a; } public void printA(){ System.out.println(子类中a = +a); } } 包(package) 在Java中,包主要有以下用途 : 将类进行分类组织存放 避免命名冲突 包允许在更广的范围内保护类、数据和方法 包可以是类、接口和子包的集合 包中的文件被编译成.class文件后被放在与完整包名匹配的子目录中。实际是:基目录+包名 嵌套的包之间没有任何关系 例如:包java.util和 java.util.jar就是彼此无关的 使用包 创建包 package mypackage; 在一个Java源文件中,只能使用一个package语句, 并且通常位于Java源文件的第一行 访问 Java 包成员 mypackage.My_Class 导入包 import package_name.*; 在一个Java源文件中,可以使用多个import语句 导入子包 import package_name.cpackage.*; 类的静态成员-static 类中的静态变量、方法或代码块属于类,而不属于某个特定的对象。
您可能关注的文档
最近下载
- 施工现场各类设备机械安全监理实施细则(参考).doc VIP
- 华东交通大学2015-2016第一学期电牵专业《电机与拖动》期末A卷.doc VIP
- 储气罐专业定期检查表.docx VIP
- JB_T 14788-2024《连续延伸带式输送机》.pdf VIP
- GB 265-1988 运动黏度.pdf
- 山东省青岛市胶州市2024-2025学年七年级上学期期末历史试题(含答案).pdf VIP
- 基于概念整合理论研究母语对二语写作的影响-外国语言学及应用语言学专业论文.docx VIP
- 中国旅游地理第四章旅游区划.ppt VIP
- 《陆上风力发电机组钢混塔架施工关键材料技术规程》.pdf VIP
- 2025年AI图像识别服务合同协议合同.docx VIP
原创力文档

文档评论(0)