初谈面向对象

面向对象

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

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

  • 特点:

    1. 面向对象是将复杂的事情简单化
    2. 将程序员从以前的执行者, 变成了调度者
    3. 面向对象更加符合当前人们思考的一种方式
  1. 匿名对象的使用场景:

    • 当对象只进行以此调用的时候可以使用匿名对象,反之则不行。
      一个类中,分为成员和方法,一个定义事物的属性, 一个定义事物的方法。
      所以定义一个类之前必须要对类的属性和行为进行分析。
  2. 私有成员是:其他类不能直接通过创建对象进行访问, 只有通过对外提供的方法进行访问
  • 这么做的好处:可以保证了安全性, 还可以对数据进行判断和加工。

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

  1. 局部变量和全局变量的区别:

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

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

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

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

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

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

转载于:https://www.cnblogs.com/jwlxtf/p/7922516.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值