- 1
- 0
- 约5.9千字
- 约 26页
- 2017-06-07 发布于湖北
- 举报
第三章 类和对象 回顾 Java 具有8种基本数据类型:int、boolean、char、short、long、float 及 double Java 中的运算符可划分为四大子集:算术运算符、位运算符、关系运算符、逻辑运算符 Java 支持下列控制结构:选择、循环、跳转 数组可用来将同一类型的数据存储在连续的内存位置 目标 掌握如何创建类和构造对象 掌握方法的重载和覆盖 了解类的继承 了解包概念 类和对象 对象表示现实世界中某个具体的事物。 抽象是从特定的实例中抽取共同的性质以形成一般化概念的过程。 对象具有两方面的含义: 在现实世界中: 是客观世界中的一个实体 在计算机世界中: 是一个可标识的存储区域 类和对象 类是具有共同属性和行为的对象的抽象。 类可以定义为数据和方法的集合。 类也称为模板,因为它们提供了对象的基本框架。 创建类 class name { type variable1; … type variableN; ? type methodname1(parameter-list){ //方法体 } … type methodnameN(parameter-list){ //方法体 } } 定义方法 定义方法的一般格式: [access] type methodname1([parameter-list]){ //方法体 } this引用 简单访问控制 - private 和 public public 声明的数据成员和成员函数可从类外部的任何地方访问。 而private 数据将被隐藏,在类外不可见,这就实现了数据封装的思想。 要从类外操纵private 成员,只能通过类的public或protected成员来实现。 方法重载(overloading) 方法重载是Java实现面向对象的多态性机制的一种方式。 同一个类中多个方法有相同的名字,不同的参数列表,这种情况称为方法重载。 返回类型不同并不足以构成方法重载。 当重载方法被调用时,编译器根据参数的类型和数量来确定实际调用哪个重载方法的版本。 方法重载示例 class Calculation { public void add( int a, int b) { int c = a + b; System.out.println(两个整数相加得 + c); } public void add( float a, float b){ float c = a + b; System.out.println(两个浮点数相加得+c); } public void add( String a, String b) { String c = a + b; System.out.println(两个字符串相加得 + c); } } 构造函数 构造函数名称与类名称相同 构造函数没有返回类型 其任务是在创建对象时初始化其内部状态 创建对象 使用下列语法可创建对象: new 构造函数 关键字 new 通常称为创建运算符,用于分配对象内存,并将该内存初始化为缺省值。 一旦 new 完成分配和初始化内存,它就将调用构造函数来执行对象初始化。 缺省初始值 Java 保证了在任何代码使用该内存之前,已至少将内存初始化为可预知的缺省值 重载构造函数 Java 为每一个类自动提供缺省构造函数 缺省构造函数将成员变量的值初始化为缺省值 一旦创建了自己的构造函数,缺省的构造函数将不复存在。 重载构造函数提供了一组创建对象的方式,可以根据需要决定是否带初始参数。 继承 被继承的类称为父类 继承父类的类称为子类 执行继承时,子类将获得父类的属性,并具有自身特有的属性。 extends关键字 extends关键字用于继承类。 声明一个继承父类的类的通常形式如下: class subclass-name extends superclass-name { //类体 } 没有extends,默认父类为Object 只能有一个父类,即单继承 子类继承父类的全部成员 super关键字 super关键字用来解决如何直接访问或初始化从父类继承来的属性。 super有两种通用形式:调用父类的构造函数、用来访问被子类的成员覆盖的父类成员。 它用在对象的构造函数中,将构造细节通过继承链往上传递。 super()必须是在子类构造函数中的第一个执行语句。 继承示例 class Employee { String name; //姓名 char sex; //性别 Employee(
您可能关注的文档
- 机构的组成与其具有确切运动的条件.ppt
- 第八讲 数字印刷中的色彩管理.ppt
- Java 2实用教程课件(第3版第4章 类、对象及接口).ppt
- 机器作者和创造性.pdf
- 第八讲 信息化物流管理.pdf
- JAVA WEb从入门到精通 第七讲01 面向对象概述.ppt
- 机损险条款解释与案例分析.ppt
- java 第五篇 延边大学 计算机系.ppt
- 第八讲 原子核反应.pdf
- Java操作符与执行流程控制.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 传媒法规与伦理教学课件(共22章)新闻伦理研究综述.pdf VIP
- 汽车行驶记录仪产品使用说明书.PDF VIP
- 2026年成都市美容医疗诊所医美项目安全规范运营可行性研究报告.docx VIP
- ocean培训petrel re快速入门工作流程.pdf VIP
- (四年级奥数班讲义.doc VIP
- 单病种病案数据填报指导手册.doc
- 企业 IPO 筹备方案(最新版,附时间表 + 材料).docx VIP
- 深圳初三数学联考模拟试题.docx VIP
- 高考历史二轮总复习精品课件 第四板块 世界现代史 第十七讲 现代科技的发展与当今世界发展的趋势.ppt VIP
- 2024年菏泽职业学院单招数学考试模拟试题及答案解析.docx VIP
原创力文档

文档评论(0)