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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐鹏辰 中级黑马   /  2015-8-8 23:32  /  230 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 徐鹏辰 于 2015-8-8 23:41 编辑




面向对象
面向过程是一种思想;强调的是功能行为。
面向对象就复杂事物简单化。将功能封装进对象,强调具备了功能的对象。
面向过程是面向对象的基础。
三大特征:封装,继承,多态。
类与对象的关系
       类:对现实生活中事物的描述
       对象:对这类事物,实实在在存在的个体。
描述事物其实就是描述事物的属性和行为。
属性:对应类中的成员变量。
行为:对应类中的成员函数。
定义类就是在描述事物,在定义类中的成员(成员变量和成员函数)。
成员变量与局部变量
作用范围:
       成员变量:作用于整个类中;
       局部变量:作用于函数中,或者语句中,作用范围结束自动释放。
在内存中的位置:
       成员变量:在堆内存中,因为对象的存在,才在内存中存在;
       局部变量:存在栈内存中
初始化
成员变量:有默认初始化值
       局部变量:没有默认初始化值
匿名对象      是对象的简化形式。
两种使用情况
当对对象方法仅进行一次调用的时;
匿名对象可以作为实际参数进行传递。
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
好处:将变化隔离;便于使用;提高重用性;提高安全性。
封装原则:
将不需要对外提供的内容都隐藏起来。
把属性都隐藏,提供公共方法对其访问.
private关键字:
是一个权限修饰符;用于修饰成员(成员变量和成员函数);被私有化的成员只在本类中有效。
将成员变量私有化,对外提供对应的set , get两种方法对其进行访问。提高对数据访问的安全性。
注意:封装不是私有,私有仅仅是封装的一种表现形式.
构造函数
特点:
1.函数名与类名相同;   2.不用定义返回值类型;       3.不可以写return语句
作用:    给对象进行初始化。
对象一建立就调用与之对应的构造函数.
注意:
1. 默认构造函数的特点。
2. 多个构造函数是以重载的形式存在的。
注:   当类中没有定义构造函数时,系统会默认的给该类加入一个空参数的构造函数,
方便对象进行初始化。
       当在类中自定义了构造函数后,默认的构造函数就没有了。
构造函数与一般函数的区别
在写法上有不同;
在运行上,构造函数是在对象一建立就运行,给对象初始化;
                一般函数是对象调用才执行,是给对象添加对象具备的功能。
运行次数上,一个对象建立,构造函数只运行一次;
                     一般函数可以被该对象调用多次。
什么时候定义构造函数?
在分析事物时,该事物存在就具备一些特性或者行为,那么就将这些内容定义在构造函数中。
还需判断构造函数是否有未知内容参与运算。
构造代码块
作用:给对象进行初始化。(对象共性初始化内容)
对象一建立就运行,而且优先于构造函数执行。
构造代码块与构造函数的区别
构造代码块是给所有对象进行统一初始化;
构造函数是给对应的对象初始化。
this关键字    用于区分局部变量和成员变量同名情况。
代表它所在函数所属对象的引用。简单的说,哪个对象在调用this所在的函数,this就代表哪个对象。
什么时候使用this关键字呢?
1.用于区分同名变量的情况,成员与局部同名时;2.用于构造函数间调用。
当定义类中功能时,该函数内需要用到调用该函数的对象时,就用this来代表。
构造函数间相互调用
       构造函数间调用只能用this语句。
一般函数不能直接调用构造函数的,因为this语句不能应用在一般函数中的,只能应用在构造函数间。
this语句,只能定义在构造函数的第一行。因为初始化动作应该先执行。
Person(String name)
{
this.name=name
}
Person(String name, int age)
{
       //this.name=name;
this(name);
this. age=age;
}

5 个回复

倒序浏览
楼主总结得很好,赞一个
回复 使用道具 举报

楼主总结得很好,赞一个
回复 使用道具 举报
楼主总结的很详细!!
回复 使用道具 举报
好详细的总结,赞一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马