JAVA语言 第四章 面向对象的概念和 Java 实现-2

上传人:豆浆 文档编号:26058451 上传时间:2017-12-22 格式:PPT 页数:32 大小:895KB
返回 下载 相关 举报
JAVA语言 第四章 面向对象的概念和 Java 实现-2_第1页
第1页 / 共32页
JAVA语言 第四章 面向对象的概念和 Java 实现-2_第2页
第2页 / 共32页
JAVA语言 第四章 面向对象的概念和 Java 实现-2_第3页
第3页 / 共32页
JAVA语言 第四章 面向对象的概念和 Java 实现-2_第4页
第4页 / 共32页
JAVA语言 第四章 面向对象的概念和 Java 实现-2_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《JAVA语言 第四章 面向对象的概念和 Java 实现-2》由会员分享,可在线阅读,更多相关《JAVA语言 第四章 面向对象的概念和 Java 实现-2(32页珍藏版)》请在金锄头文库上搜索。

1、第四章,面向对象的概念和 Java 实现-2,2,回顾,类是具有相同属性和行为的一组对象的集合 ,对象是类的实例封装是隐藏对象实现细节的过程,以便不让用户看到实现的细节类可用Class来定义,类的变量和方法可被该类的实例访问,圆点符号用于访问对象的成员,构造函数在创建对象时初始化对象包可用package来申明 ,可用import 来导入包,3,目标,理解继承及其特点运用JAVA程序实现继承理解多态及其特点设计运用JAVA程序实现多态掌握访问修饰符和方法修饰符,4,继承,父 类,子类,5,继承的特点,6,继承的优点,7,继承的JAVA实现,演示:示例 1,编写一个父类使用 extends 关键字

2、,编写子类,class Car extends Vehicles /*构造方法. */ Car() /* 显示子类 Car 的信息. */ void show() System.out.println(“从子类 Car 中输出的信息 ); System.out.println(“交通工具的名称 - + name); System.out.println(“交通工具的颜色 - + color); System.out.println(“座位的数量 - + seats); System.out.println(=); ,class Vehicles /*存储交通工具的名称. */ protecte

3、d String name = Honda Civic; /* 存储颜色信息.*/ protected String color = Red; /* 存储座位信息. */ protected int seats = 5; /* 构造方法.*/ Vehicles() /* *显示父类汽车的详细信息 */ void showDetail() System.out.println(从父类 Vehicles 中输出的信息); System.out.println(名称 - + name); System.out.println(颜色 - + color ); ,public class CarTest

4、 /* *构造方法*/ CarTest() /* * 这是 main 方法 * param args 传递至 main 方法的参数 */ public static void main(String args) /* 声明一个对象*/ Car vehicle = new Car(); vehicle.show(); vehicle.showDetail(); ,8,子类构造方法 2-1,要调用父类构造方法,使用关键字 super,9,子类构造方法 2-2,调用父类构造方法的语法为:super() 或 super(参数列表) ;super () 方法始终指向调用类的父类,10,调用父类构造方法,

5、演示:示例 3,关键字 super 的用法,class FictionAuthor extends Author /* 存储作者的小说类型.*/ String storytype; /* 子类构造方法. param name 传递至构造方法的参数 param type 传递至构造方法的参数*/ FictionAuthor(String name, String type) super(name); storytype = type; System.out.println(“从 Fiction Author 类输出); System.out.println(“小说类型为 + storytype)

6、; ,调用父类构造方法,Author(String str) name = str; System.out.println(“从 Author 类输出); System.out.println(“姓名为 + name); ,11,多态性 2-1,多态性是指“多种形式”它使用不同的实例而执行不同操作多态包括方法重写和方法重载,12,多态性 2-2,父类,子类 - 绘制和移动三角形,子类 - 绘制和移动矩形,子类 - 绘制和移动五边形,13,方法重载 2-1,方法重载,类中有多个具有相同名称的方法,14,方法重载 2-2,演示:示例 4,public class DisplayNumber /*

7、无参数可显示/ 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)方法内: +

8、 count) ,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); dispObj.display(count); dispObj.d

9、isplay(25.5); ,15,方法重写 2-1,16,方法重写 2-2,父类和子类中具有相同名称和类型的方法,public static void main(String arg) Rectangle rectObj = new Rectangle(10, 15); rectObj.getPerimeter(); Rectangle sqObj= new Square(15); sqObj.getPerimeter(); ,调用父类方法,调用子类方法,class Square extends Rectangle Square(int len) length = len; /* 计算周长.

10、*/ void getPerimeter() System.out.println(“正方形的周长为 + (4 * length); ,class Rectangle int length; int width; Rectangle(int len , int wid) length = len; width = wid; /* 计算矩形的周长.*/ void getPerimeter() System.out.println(“矩形的周长为 + (2 * (length + width); ,17,访问修饰符 3-1,信息隐藏是 OOP 最重要的功能之一,也是使用访问修饰符的原因信息隐藏的原

11、因包括:对任何实现细节所作的更改不会影响使用该类的代码防止用户意外删除数据此类易于使用,访问修饰符,18,访问修饰符 3-2,19,访问修饰符 3-3,访问修饰符可访问性,20,方法修饰符,21,static 修饰符 3-1,static修饰符修饰的方法叫静态方法目的使该方法独立于类的实例,使用类去访问,而不是类实例,所以也叫类方法,22,static 修饰符 3-2,调用静态方法的语法为: classname.methodname( );,23,演示:示例 6,public static void main(String arg) /*初始化变量*/ double inch = 66; do

12、uble feet = InchesToFeet.convert(inches); System.out.println(inch + “英寸为 ” + feet + “英尺。); ,使用类名称调用 static 方法,public static double convert(double in) return (in / inches); ,static 修饰符 3-3,24,final 修饰符,25,abstract 修饰符 3-1,由abstract修饰的方法叫抽象方法;由abstract修饰的类叫抽象类抽象方法必须声明在抽象类中抽象方法语法:abstract type method_n

13、ame(parameter_list);声明抽象类语法: abstract class 使用:父类中的某些抽象不包含任何逻辑,并需要在子类中重写,子类提供这种抽象方法的实现细节,26,abstract 修饰符 3-2,抽象类可以具有指向子类对象的对象引用,27,abstract 修饰符 3-3,演示:示例 7,抽象方法不具有任何实现代码,abstract class Shape . . . . . . . . . . . protected double length;protected double width;. . . . . . . . . . . . . . . . . . . . .abstract double area();,class Square extends Shape /* 构造方法. *param num 传递至构造方法的参数 *param num1 传递至构造方法的参数 */ Square(final double num, final double num1) super(num, num1); /* * 计算正方形的面积. * return double */ double area() System.out.println(“正方形的面积为:); return length * width; ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号