黑马程序员技术交流社区
标题:
视频辅导班Day06知识点总结
[打印本页]
作者:
彭柏良
时间:
2014-12-21 23:49
标题:
视频辅导班Day06知识点总结
从面向对象开始,开始对每天在课堂上学过的知识用自己的话进行总结,而不是去看笔记来发表。
一、什么是面向对象?
面向对象是一种思想,它是基于面向过程的。那么什么是面向过程了?将要解决的问题通过函数一步一步来实现,强调整个过程。比如自己去买电脑,首先自己在网上查找电脑信息,去电脑店寻找电脑,然后与店员谈价格等等,都是在强调一个个过程。若是自己对于电脑知识不懂,也就相当于遇到了困难的问题。一般情况下,人们遇到了问题,往往会有求助于能够解决问题的人的习惯,为什么会这样做?因为这样可以让事情变得简单化。还是回到刚才买电脑的例子,我不懂电脑知识,我会找我的朋友帮忙,让他去帮我买电脑,因为他具备熟悉电脑的这个功能。我通过调用我朋友熟悉电脑的功能,让他去帮我买电脑,而我不需要查找电脑信息,不需要去电脑店,不需要与店员去。整个过程就是一个面向对象,把要解决的问题封装成一个对象,通过调用对象的功能来实现。让我自己从一个执行者变成了指挥者。
注意:在面试时,还可以以现场的环境来举例来解释面向对象。
二、类和对象的区别
类是对某一类事物的抽象描述,包含属性和行为,属性就是代码中类中的成员变量,而行为就是代码中类中的成没方法;如人类,动物类等
对象就是现实生活中该类中的具体事物;人类中的男人,女人;动物类中的狗,猫等。
类是对象的模版,对象是类的一个个体或实例。
三、成员变量和局部变量的区别
(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()方法。所以匿名对象多次调用成员方法是无意义的。
作者:
取名回忆的时光
时间:
2014-12-21 23:51
沙发,老大就是叼
作者:
圣诞老人
时间:
2014-12-21 23:53
讲的很不错,赞一个!你是哪个宿舍的,同学咱们交流一下。
作者:
Mydream524
时间:
2014-12-21 23:56
同学字符型的是\u0000:'(
作者:
呢?
时间:
2014-12-22 00:13
学习了,同学~
作者:
zhou1234
时间:
2014-12-22 08:44
写的不错:lol
作者:
李一白_
时间:
2014-12-22 13:11
支持!!!!!
作者:
曹震国
时间:
2014-12-22 23:39
好牛。学习了。
作者:
雨祭
时间:
2014-12-22 23:47
赞一个。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2