如果您无法下载资料,请参考说明:
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修饰后的属性,存在于方法区.
可以通过对象引用或类名(不需要事例化)访问静态成员。
什么时候使用静态修饰符?
当对象中出现共享数据时,使用静态修饰。
但对象内的特有数据要定义成非静态存在于堆内存中。
而对于方法时:
当功能内部没有访问到非静态数据时,(即对象的特有数据)
那么可以使用静态修饰。
静态代码块:
用于给类做初始化的。不管有没有对象都执行,只要调用了类里面成员或方法,就会执行
xf****65
实名认证
内容提供者
最近下载