A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhwfa1991 中级黑马   /  2015-7-9 14:58  /  473 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

       现在有好几种面向对象的语言,比较典型的有simula 67、EIFFEL、smalltalk、C++、C#、Java等,其中又以Java最为普及,Java语言的三大特征:封装、继承、多态。Java之所以被称为是一种面向对象的语言,是因为相对于面向过程而言的,当我们用C语言编写程序的时候,我们都是把程序怎么实现的步骤给一步步的程序化,而Java则不然,它是找到实现这个过程的对象,通过这个对象调用相对应的功能。

        举个例子,如果有这么以个公司,公司只有老板一个人,那么任何事都必须他亲力亲为,而公司为了提高工作效率就会招人,老板就会为招到的人分配各种工作,每个人都会有自己特定的工作范围,这个时候老板就只需要分配,不需要自己亲自做,这对于老板而言就是面向对象,这些员工就是对象,这就是面向对象和面向过程的区别。

        既然要学习Java,就需要理解类和对象之间的关系。Java中有很多的类,类就是对一类事物的统称,而对象就是类中的一个特例。如果把人封装成一个类,那么这其中的你我他就是对象。映射到Java中类就是class中描述的内容,对象就是用new创建的一个实例。Java对一类事物进行描述的时候,会对这一类事物的属性和方法(函数)进行封装描述,如果属性定义在方法之外,这些被称为成员标量,方法(函数)被称为成员方法。成员变量和我们平时使用的变量是有区别的,平时我们定义变量是在函数或某些语句内,这些变量被称为局部变量。成员变量和局部变量的区别主要在于作用域不用,成员变量作用于整个类中,局部变量作用于它建立的语句或者当前大括号内;成员变量是随着对象的建立而存在的,是存储于堆内存中的,而局部变量在使用过后就会被释放,而且是存储于栈中的。

        一般情况下,我们建立对象都会给对象起个名字,这样方便对对象内部的成员进行调用,而当某些函数仅试用一次或者最为参数传值,这个时候我们可以使用匿名对象进行处理,格式如下:new   对象名.成员函数。这就是匿名对象的一般使用方法。

        既然Java语言是一种面向对象的语言,那么我们只需要知道哪些类是做什么的就可以了,而这些类中有什么属性或者具体怎么实现的就不需要我们关心了,仅对外提供公共访问方式,这就是封装。但是我们该怎么进行隔离处理呢?这里我们就需要用到private,将属性进行私有化处理。当类中属性没有进行私有化处理的时候,我们可以对对象属性随意调用与赋值,这是不安全的,当私有化之后,我们不能进行调用,这个时候我们就可以通过方法就行赋值,对不安全的因素就行判断,然后return返回,这就大大提高了安全性。而对象是怎么建立的呢?很多新人建立对象都是知其然而不知其所以然,其实建立对象是利用构造函数建立的,构造函数我们可以写也可以不写。而所谓的构造函数就是和类名同名的函数,当然构造函数也可以有很多,这就是我们原来提过的函数重载了。对象初始化只需寻找对应的构造函数就可以了。

        有时候,我们为了是变量名称有意义,可能会是局部变量和成员变量名称相同,这个时候我们就需要用到this关键字。this代表的就是当前对象,调用的变量就是成员变量,用以区分函数内局部变量和成员变量同名的情况。

2 个回复

倒序浏览
视频刚看到这里,云里雾里的。
回复 使用道具 举报
谢分享。顶个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马