内省(Introspection )在
心理学中,它是心理学基本研究方法之一。内省法又称
自我观察法。它是发生在内部的,我们自己能够意识到的
主观现象。也可以说是对于自己的主观经验及其变化的观察。正因为它的主观性,内省法自古以来就成为心理学界长期的争论。争论于它是否
客观,是否可靠。另外内省也可看作自我反省,也是
儒家强调的自我思考。从这个角度说它可以应用于计算机领域,例如
Java内省机制和cocoa内省机制。
心理学
随后,
构造心理学把心理学的研究对象定为直接经验,
内省法便成了心理学研究的基本方法。将内省结构化,即内省任务设定为发现和确定内省所得的心理元素。
冯特和
铁钦纳强调训练的内省,将内省成为一种熟练的技巧才能使用得当。为了使内省所观察的心理经验尽量合乎科学的要求,他们把可以内省的心理活动尽量限制在严格控制的条件下来进行,使得所要观察的心理活动具有某种稳定性,便于观察,报告,也便于重复和验证。另外他们要求被试只内省心理上的实际感受而不作对感受意义的推想,比如由感受推想到引起感受的具体事物,把“想到的”实物刺激误以为“感到的”心理感觉,这是犯了内省的“刺激错误”,是他的实验室要求力戒的。
格式塔主义的兴起,更注重整体性。因此,内省则代表对知觉心理现象的自我观察。并把所观察到的直观经验称作现象以区别于构造学派由内省所得的心理元素与经验资料。最为他们看重并据以为学派理论出发点的基本事实是
似动实验。
机能主义注重心理在生活实际中的意义,因此将内省看做是对自己内心经验的活动与反思。他们并不否认人的心理生活,但重视人的心理对于协调人的活动的适应意义。奠定机能派理论思想基础的詹姆士说过,谁也不会否认人能观察到自己的感觉,情感和意愿这个主观世界。这话既承认了心理学的对象,意识,心理,也承认了心理可以进行内省观察。
行为主义心理学否定对意识经验的研究,把心理学定为研究行为的科学,主张用刺激-反应方法进行研究,完全否定了内省法。
20世纪50年代后期,随着
认知心理学的兴起,意识又被带回到心理学中,
自我观察法重新受到心理学家的重视,并获得了新的发展。
儒家内省
1.在内心省察自己的思想、言行有无过失。儒家自
曾子始便很注重这种内心的
道德修养。
曾子要求人们“内省”、“自论”。
个人见解:内省是个不错的方法,但不如面壁思过,在幽暗闭室里静静的批判自己比较好。当年才子不读书就用这种方法把他们关在书房,只有书读,也不管他,时间一长,就从哭闹变成读书人了。
孟子的“内省”修养名为“存心”,也叫“求放心”。宋明理学家继承了
孔孟的“内省”的修养方法。
程颐的修养方法为“诚敬”、“致和”、“集义”。
王守仁则为“
致良知”。儒家要求人们用这套道德要求的各种思想行为。从总体上来说,这是
唯心主义的修养方法,它的根本缺陷在于和实践脱节,与人民生活脱节。但其中也有某些合理因素,如强调修养的重要性,修养中发挥人的主观能动作用,以及讲究修养方法等等。
2.指被训练过的观察者仔细的、小心地注意他们自己的感觉,精确的辨别这些感觉,并尽可能客观地报告这些感觉。
3.指宫中。《后汉书·皇后纪上·和熹邓皇后》:“宫禁之重,而使外舍久在~,上令陛下有私幸之讥,下使
贱妾获不知足之谤。”
《
旧唐书·长孙顺德传》:“ 太宗践祚,真食千二百户,特赐以宫女,每宿~。”
明 朱鼎 《玉镜台·召太真》:“谁知道野糜鹿游陛廷,社鼠城狐栖~。”
4.指
门下省。《资治通鉴·陈宣帝太建四年》:“后珽在内省,言声高慢, 光
适过,闻之,又怒。”
胡三省注:“
齐盖以门下省为内省。”
近义词:
面壁思过(好好检讨自己,安静下来,与周围环境保持一种隔离的状态最容易反思自己缺点)
谨慎小心,
三思而行内省机制
Java
Java语言内省(Introspector)是
Java语言对Bean
类属性、事件的一种缺省处理方法。例如类A中有属性name,那我们可以通过getName,setName来得到其值或者设置新的值。通过getName/setName来访问name属性,这就是默认的规则。
Java中提供了一套API用来访问某个属性的getter/setter方法,通过这些API可以使你不需要了解这个规则(但你最好还是要搞清楚),这些API存放于包
java.beans中。
一般的做法是通过类Introspector来获取某个对象的BeanInfo信息,然后通过BeanInfo来获取属性的描述器(PropertyDescriptor),通过这个属性描述器就可以获取某个属性对应的getter/setter方法,然后我们就可以通过
反射机制来调用这些方法。
Cocoa
Cocoa内省机制,
Objective-C和Cocoa在这个方面尤其的丰富。内省是对象揭示自己作为一个运行时对象的详细信息的一种能力。这些详细信息包括对象在继承树上的位置,对象是否遵循特定的协议,以及是否可以响应特定的消息。NSObject协议和类定义了很多内省方法,用于查询运行时信息,以便根据对象的特征进行识别。 明智地使用内省可以使
面向对象的程序更加高效和强壮。它有助于避免错误地进行消息派发、错误地假设对象相等、以及类似的问题。
此外,对于所有的OOP编程思想,内省都是适用的。