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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 彭柏良 中级黑马   /  2014-12-21 23:49  /  1333 人查看  /  8 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

从面向对象开始,开始对每天在课堂上学过的知识用自己的话进行总结,而不是去看笔记来发表。

一、什么是面向对象?
面向对象是一种思想,它是基于面向过程的。那么什么是面向过程了?将要解决的问题通过函数一步一步来实现,强调整个过程。比如自己去买电脑,首先自己在网上查找电脑信息,去电脑店寻找电脑,然后与店员谈价格等等,都是在强调一个个过程。若是自己对于电脑知识不懂,也就相当于遇到了困难的问题。一般情况下,人们遇到了问题,往往会有求助于能够解决问题的人的习惯,为什么会这样做?因为这样可以让事情变得简单化。还是回到刚才买电脑的例子,我不懂电脑知识,我会找我的朋友帮忙,让他去帮我买电脑,因为他具备熟悉电脑的这个功能。我通过调用我朋友熟悉电脑的功能,让他去帮我买电脑,而我不需要查找电脑信息,不需要去电脑店,不需要与店员去。整个过程就是一个面向对象,把要解决的问题封装成一个对象,通过调用对象的功能来实现。让我自己从一个执行者变成了指挥者。

注意:在面试时,还可以以现场的环境来举例来解释面向对象。

二、类和对象的区别
类是对某一类事物的抽象描述,包含属性和行为,属性就是代码中类中的成员变量,而行为就是代码中类中的成没方法;如人类,动物类等
对象就是现实生活中该类中的具体事物;人类中的男人,女人;动物类中的狗,猫等。
类是对象的模版,对象是类的一个个体或实例。

三、成员变量和局部变量的区别
(1)在类中的位置不同
成员变量定义在类中;局部变量定义在方法中或方法声明上;
(2)内存中的位置不同
成员变量定义在堆内存中,局部变量定义在栈内存中;
(3)生命周期不同
成员变量随着对象的创建而存在,随着对象的消失而消失;
局部变量随着方法的调用而存在,随着方法的调用完毕而消失;
(4)初始化值不同
成员变量有默认初始化值,整型的是0,浮点型的是0.0,字符型的是空字符,也就是\u000,引用类型的是null
局部变量没有默认初始化值,必须先定义,赋值才能使用

四、匿名对象
定义:
没有名字的对象
好处:
匿名对象调用完毕时就是垃圾,可以被垃圾回收器回收。
应用场景:
(1)当方法只被调用一次时,可以使作匿名对象
(2)匿名对可以作为实际参数传递
注意:
(1)匿名对象调用成员属性是无意义的,因为它在堆内存中new一个对象后,因为没有被引用,会变成垃圾。
(2)有名对象调用两次方法和匿名对象调用两次方法的区别:
Student s = new Student();
s.show();
s.show();
这是指s对象调用两次方法
new Student().show();
new Student().show();
这是指创建两个对象,分别调用show()方法。所以匿名对象多次调用成员方法是无意义的。

8 个回复

倒序浏览
沙发,老大就是叼
回复 使用道具 举报
讲的很不错,赞一个!你是哪个宿舍的,同学咱们交流一下。
回复 使用道具 举报
同学字符型的是\u0000:'(
回复 使用道具 举报
学习了,同学~
回复 使用道具 举报
写的不错:lol
回复 使用道具 举报
支持!!!!!
回复 使用道具 举报
好牛。学习了。
回复 使用道具 举报
雨祭 中级黑马 2014-12-22 23:47:27
9#
赞一个。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马