预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

面向对象 对象和类的概念 对象用计算机语言对问题域中事物的描述,对象通过“属性(attribute)”和”方法(method)”来分别对应事物所具有的静态属性和动态属性。 类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所因具有的静态和动态属性。 类可以看成一类对象的模板,对象可以看成该类的一个具体实例。 对象的两要素 属性 用于描述对象静态特性(结构特性)的一个数据项。如描述一个人可用姓名、年龄、身份证号等属性。 方法 用于描述对象动态特性(行为特性)的一个操作系列。如每个人都具有工作、学习等行为特性。 格式:引用类名对象名=new构造函数名(参数); 例:classDuiXiang{} 则建立对象为:DuiXiangmingZi=newDuiXiang(); 如果要实现功能,则格式为: mingZi.变量或函数名(); 面向对象编程特征 封装 继承 多态 封装 封装是允许有选择地隐藏类中的属性和方法 继承 继承(重用)现有类生成新类 继承关系 父类(超类)是有其他类继承其行为的类 继承其他类的类称为子类 多态概念 多态是具有表现多种形态的能力的特征 多态与继承并不是孤立的,他们之间存在着紧密的联系,多态是建立在继承的基础之上的 不同的子类继承自同一个父类,父类的同一个方法以不同的方式实现 Java与面向对象 对象是Java程序的核心,在Java程序中“万事万物皆对象”。 对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体。 类是用来创建同一类型的对象的“模板”,在一个类中定义了该类对象所应具有的成员变量以及方法。 J2SDK提供了很多类供编程人员使用,编程人员也可以定义自己的类。 成员变量 成员变量可以使Java语言中任何一种数据类型(包括基本类型和引用类型). 在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认值对其初始化. 成员变量的作用范围为整个类体. Java面向对象基本概念---引用 Java语言中除基本类型之外的变量类型都称之为引用类型。 Java中的对象是通过引用对其操作的。例如: //声明了一个String类型的引用变量,但并没有使它指向一个对象 Strings; //使用new语句创建一个String类型的对象并用s指向它以后可以通过s完成对其的操作。 s=newString(“Helloworld”); 如何在内存中区分类和对象? 类是静态的概念,代码区 对象是new出来的,位于堆内存,类的每个成员变量在不同的对象中都有不同的值(除了静态变量)而方法只有一份,执行的时候才占用内存 对象的创建和使用 必须使用new关键字创建对象 使用对象.成员变量来引用对象的成员变量 使用对象.方法(参数列表)来调用对象的方法 同一类的每个对象有不同的成员变量存储空间 同一类的每个对象共享该类的方法 构造方法 使用new+构造方法创建一个新对象 构造方法是定义在Java类中的一个用来初始化对象的函数。 构造方法与类同名且没有返回值. 构造函数 创建对象时,使用构造函数初始化对象的成员变量。 当没有指定构造函数时,编译器为类自动添加形如:类名(){}的构造函数。 约定俗成的命名规则 类名的首字母大写 变量名和方法名首字母xiao写 运用标识 方法的重载 方法的重载是指一个类中可以定义相同的名字,但参数不同的多个方法。调用时,会根据不同的参数表选择对应的方法。 构造方法的重载 与普通方法一样,构造方法也可以重载 this关键字 在类的方法定义中使用的this关键字代表使用该方法的对象的引用。 当前使用方法的对象是this。 有时使用this可以处理方法中成员变量和参数重名的情况。 this可以看作是一个变量,它的值是当前对象的引用 使用格式: this.成员变量名; this.成员方法名 this(); static关键字 三种修饰:修饰类的变量、方法和构造代码块。静态方法只能直接引用和访问静态变量和方法 声明为static的方法称为静态方法或类方法。静态方法可以直接调用静态方法,访问静态变量,但是不能直接访问实例变量和实例方法。静态方法中不能使用this关键字,因为静态方法不属于任何一个实例。静态方法不能被子类的静态方法覆盖。 特有属性随着对象存储于堆内存中,而static修饰后的属性,存在于方法区. 可以通过对象引用或类名(不需要事例化)访问静态成员。 什么时候使用静态修饰符? 当对象中出现共享数据时,使用静态修饰。 但对象内的特有数据要定义成非静态存在于堆内存中。 而对于方法时: 当功能内部没有访问到非静态数据时,(即对象的特有数据) 那么可以使用静态修饰。 静态代码块: 用于给类做初始化的。不管有没有对象都执行,只要调用了类里面成员或方法,就会执行