- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java笔记第4章类和对象
错误!未找到目录项。
第四章 类和对象
第一节 面向对象的基本概念
基本概念:在分析阶段,根据系统功能的需要,找出必要的一些实体,例如选课系统中(学生和课程),称为对象。在编码阶段,如何来定义这些实体呢?根据客观存在的实体找出它们的共同的属性(数据成员)和特征(功能/方法成员)形成一个类。之后再通过类去创建对象。类与对象的关系是:类是对象的抽象(高度的概括),对象是类的实例(实体)。类是java中的一种复合的数据类型(是属性和方法的统一体)
1、 面向对象编程基本特征:
(1)抽象:高度的概括,即由客观存在的实体到类的过程。
(2)封装:数据成员私有化,提供公共的访问者方法,封装的过程是类对外部隐藏细节的过程,类外想要访问隐藏的细节,必须通过公共的访问者方法来进行。
(3)继承:实现代码重用。
(4)多态:同名方法的调用产生不同的行为结果。
2、 面向对象编程(OO)的基本步骤:
(1)OOA:面向对象的分析
(2)OOD:面向对象的设计
(3)OOP:面向对象的编程
(4)OOT:面向对象的测试
(5)OOSM:面向对象的软件维护
第二节 定义类的语法:
一. 完全语法形式;
修饰符 class 类名 【extends 父类名】【 implements 接口名1【,接口名2....】】
{
类的定义
}
说明:
修饰符 访问权限的修饰符(public default);
final 修饰的类不能被继承
abstract 修饰抽象类
class 关键字
extends 继承的关键字,在java中一个类只能有一个父类,只能单继承.避免二义性.
implements 类实现接口的关键字,一个类可以实现多个接口.
二. 缺省的简单语法定义
public class 类名
{
类体的定义
}
补充:
包:类的容器,定义包的语句是 package 包名;package 语句在java源文件中是除了空白和注释的第一条语句,且只能有一条,即一个类只能放在一个包中。
cmd窗口执行时
编译 Javac –d . 类名.java 如:javac –d . Test04_1.java (点表示当前的工作目录)
将java源文件编译后生成的字节码文件保存在以包名为目录名的目录中并保存在当前的工件目录里.
带包执行 java 包名.类名 如:java mypack.Test04_1
导包:
当使用其他包的类不包括java.lang时,需要导包,
否则类不可见。
导包语法:
import 包名.*;
或者是
import 包名.类名;
三. 类体内容定义
数据成员(全局变量):
定义语法:访问权限修饰符[其它修饰符] 数据类型 数据成员名;
说明:
访问权限修饰符(定义成员时每个成员前都要加上访问权限)
public
protect
default
private
其它修饰符
final/static
数据类型:任意合法的java基本数据类型和复合数据类型
数据成员的默认值:当定义数据成员时如果没有直接初始化,那么所有的数据成员都取默认值,
默认值规则是:
基本数据类型
long ----0L; int short byte----0; double---0.0; char---‘\u0000’; boolean----false
复合数据类型(类或者接口)数据成员的默认值是null.
2. 方法成员
2.1 构造方法:方法名和类名相同,没有任何返回值类型
在创建对象时通过 new 来调用。
3. 类的使用
创建对象:
语法:
类名 对象名 = new 类名(【参数列表】);
调用方法:
对象名.方法名(【参数列表】);
4. this关键字的用法: //视频面向对象2//详见Clock.java ClockTest.java
(1)用在构造方法中形如this.xxx表示当前正在被创建的对象的引用。
Clock类中定义的构造方法 ClockTest类中创建对象c1
public Clock(int hour,int minute,int second) Clock c1=new Clock(23,23,23);
{
this.hour=hour; //此处的this即表示对c1的引用
this.minute=30;
this.second=30;
}
(2)用在构造方法中的第一条语句处,形如this([参数列表]),表示对本类其他构造方法的调用。
(3)用在普通的成员方法中形如this.xxx表示对当前调用对象的引用。
5. 类成员访问权限:是指类成员在类外的使用情况 //视频面向对象2
同一个包中的不同类
访问权限 或同一个包中的子类
文档评论(0)