初谈面向对象

面向对象

  1. 面向对象和面向过程的区别:
    是面向过程就是分析出解决问题所需要的步骤,面向对象是把构成问题事务分解成各个对象。
    举例子来叙述:

面向过程(代表语言 c语言):
1、点火。
2、踩油门。
3、刹车。
**开发时重点在于定义函数(过程;点火,踩油门,刹车)。
面向对象(代表语言 java语言):
1、汽车启动。
2、汽车运行。
3、汽车刹车。
**开发时重点在于定义对象(对象;汽车)

  • 特点:
  1. 面向对象是将复杂的事情简单化
  2. 将程序员从以前的执行者, 变成了调度者
  3. 面向对象更加符合当前人们思考的一种方式
  1. 匿名对象的使用场景:
  • 当对象只进行以此调用的时候可以使用匿名对象,反之则不行。
    一个类中,分为成员和方法,一个定义事物的属性, 一个定义事物的方法。
    所以定义一个类之前必须要对类的属性和行为进行分析。
  1. 私有成员是:其他类不能直接通过创建对象进行访问, 只有通过对外提供的方法进行访问
  • 这么做的好处:可以保证了安全性, 还可以对数据进行判断和加工。

4.类中怎么没有定义主函数呢?
主函数的解释:保证所在类的独立运行,是程序的入口,运行后会自动被jvm调用。所以说如果不需要类独立运行就可以省下一些代码。

  1. 局部变量和全局变量的区别:
  • 全局变量定义在类中 , 局部变量定义在方法中,
  • 他们的作用域而言, 全局变量更大(在类中),而局部变量在他所在的大括号中。
  1. 构造函数用于给对象初始化, 是给与之对应的对象进行初始化:
  • 特点: 该方法的名称和所在类的名称一致, 不需要返回值
    注意: 构造方法可以重载, 一个类中没有构造方法, 会默认构造方法, 一个类中如果定义了有参构造方法就不会有默认构造方法。
  1. 构造方法和一般方法有什么区别呢?

格式不同
构造方法是在对象创建时, 就被调用用于初始化, 而且初始化只初始化以此。而一般方法是在对象创建后, 才被调用,且可调用多次。

  1. 构造代码块和构造函数的区别?

构造代码块, 对象一创建就会调用同一个代码块。而构造方法只会各自调用各自的

9.创建对象的时候在内存中做了什么事情?

  1. 先将硬盘上指定位置的后缀为.class 文件加载进内存
  2. 执行main方法时候, 栈内存开辟main方法的空间(压栈-进栈)(没有就跳过),然后在main方法的栈区分配一个变量p
  3. 在堆内存中开辟一个实体空间, 分配一个内存首地址值
  4. 在该尸体空间中进行属性的空间分配, 并进行默认初始化。(内存中二进制值设为0, 成员变量取默认值)
  5. 静态代码块执行完, 静态变量进行初始化。
  6. 堆空间中的属性进行显式地初始化
  7. 进行实体地构造代码初始化
  8. 调用该尸体对应地构造方法, 进行构造方法初始化
  9. 将首地址赋值给引用P , 变量p 就引用该实体。
posted @ 2017-11-29 20:20  老螃蟹  阅读(125)  评论(0编辑  收藏  举报