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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 15732622419 中级黑马   /  2016-7-23 22:40  /  1045 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 15732622419 于 2016-7-23 22:45 编辑

1):特点:
                           1:将复杂的事情简单化。
                           2:面向对象将以前的过程中的执行者,变成了指挥者。
                           3:面向对象这种思想是符合现在人们思考习惯的一种思想。
(2)匿名对象使用场景:
1:当对方法只进行一次调用的时候,可以使用匿名对象。
                          2:当对象对成员进行多次调用时,不能使用匿名对象。必须给对象起名字。
(3)类中怎么没有定义主函数呢?
注意:主函数的存在,仅为该类是否需要独立运行,如果不需要,主函数是不用定义的。
            主函数的解释:保证所在类的独立运行,是程序的入口,被jvm调用。
(4)成员变量和局部变量的区别:
  • 定义位置:
                            成员变量:在类中,方法外,整个类中都可以访问
                            局部变量:定义在局部范围内(方法内、语句内等)一般定义在方法内
  • 内存
                            成员变量:随着对象的建立而建立,存在于对象所在的堆内存中
                            局部变量:存在于栈内存中
  • 默认值
                            成员变量:有默认值
                            局部变量:没有默认值
  • 回收
                           成员变量:随着对象的回收而回收
                           局部变量:随着作用域结束而回收,通常为语句或方法范围
                 变量访问原则:就近原则
               注意:子父类中通常是不会出现同名成员变量的,因为父类中只要定义了,子类就不用在定义了,直接继承过来用就可以了。
(5)构造函数
                        用于给对象进行初始化,是给与之对应的对象进行初始化,它具有针对性,函数中的一种。
            特点:
                        1:该函数的名称和所在类的名称相同。
                        2:不需要定义返回值类型。
                        3:该函数没有具体的返回值。
                     记住:所有对象创建时,都需要初始化才可以使用。
    注意事项:
                     一个类在定义时,如果没有定义过构造函数,那么该类中会自动生成一个空参数的构造函数,为了方便该类创建对象,完成初始化。如果在类中自定义了构造函数,那么默认的构造函数就没有了。

                   一个类中,可以有多个构造函数,因为它们的函数名称都相同,所以只能通过参数列表来区分。所以,一个类中如果出现多个构造函数。它们的存在是以重载体现的。
(6)构造函数和一般函数有什么区别呢?
                        1:两个函数定义格式不同。
                        2:构造函数是在对象创建时,就被调用,用于初始化,而且初始化动作只执行一次。
一般函数,是对象创建后,需要调用才执行,可以被调用多次。

(7)什么时候使用构造函数呢?
                       分析事物时,发现具体事物一出现,就具备了一些特征,那就将这些特征定义到构造函数内。
(8)构造代码块和构造函数有什么区别?
                       构造代码块:是给所有的对象进行初始化,也就是说,所有的对象都会调用一个代码块。只要对象一建立。就会调用这个代码块。
                       构造函数:是给与之对应的对象进行初始化。它具有针对性。
(9)创建一个对象都在内存中做了什么事情?
                      Personp = new Person();
                         1:先将硬盘上指定位置的Person.class文件加载进内存。
                         2:执行main方法时,在栈内存中开辟了main方法的空间(压栈-进栈),然后在main方法的栈区分配了一个变量p。
                         3:在堆内存中开辟一个实体空间,分配了一个内存首地址值。new
                         4:在该实体空间中进行属性的空间分配,并进行了默认初始化。
                         5:对空间中的属性进行显示初始化。
                         6:进行实体的构造代码块初始化。
                         7:调用该实体对应的构造函数,进行构造函数初始化。
                        8:将首地址赋值给p ,p变量就引用了该实体。(指向了该对象)

3 个回复

倒序浏览
出第二期,总结的很好
回复 使用道具 举报
很到位,谢楼主分享
回复 使用道具 举报
楼主总结的不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马