zoukankan      html  css  js  c++  java
  • 【java入门系列】类和对象

     面向对象和面向过程

    面向对象是一种以事物为中心的编程思想。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为,面向对象是将事物高度抽象化。面向过程是一种以过程为中心的编程思想。面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候依次调用即可,面向过程强调的是工作的执行。 面向对象是相对于面向过程而言,站在面向对象的角度去看问题,你是对象的动作的指挥者;站在面向过程的角度去看问题,你是动作的执行者。

    对象和类

    对象是类的一个实例;对象主要通过new关键字,newInstance()方法,clone()方法,工厂方法和反序列化方法创建;对象根据需要创建可创建多次;对象在创建时分配内存。

    类是创建对象的蓝图或模板;只能根据class关键字来定义类;类只声明一次;类的创建不需要分配内存。

    成员变量和局部变量

    成员变量:成员变量定义在类中,在整个类中都可以被访问;成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中;成员变量有默认初始化值。

    局部变量:局部变量定义在局部范围内,如:函数内,语句内等,只在所属的区域有效;局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放;局部变量没有默认初始化值

    若成员变量没有设置属性值,成员方法中同名局部变量也没有定义变量类型,那么该局部变量其实就是成员变量。

    匿名对象

    没有引用类型变量指向的对象称作为匿名对象,所以不会给匿名对象赋予属性值,因为永远无法获取到,并且两个匿名对象永远都不可能是同一个对象。

    匿名对象好处:1、简化书写 2、节省内存

    匿名对象的应用场景:1、如果一个对象需要调用一个方法,调用完这个方法之后,该对象就不再使用了,这时候可以使用匿名对象。执行完毕后该对象就变成垃圾,可以被GC回收 2、可以作为实参调用一个方法。

  • 相关阅读:
    Codeforces Round #276 (Div. 1) E. Sign on Fence 二分+主席树
    Codeforces Round #229 (Div. 2) C. Inna and Candy Boxes 树状数组s
    HDU 5918 Sequence I KMP
    HDU 5919 Sequence II 主席树
    hdu 5833 Zhu and 772002 高斯消元
    Codeforces Round #143 (Div. 2) E. Cactus 无向图缩环+LCA
    codeforces 45C C. Dancing Lessons STL
    deeplab hole algorithm
    有时候只是担心多余
    lstm
  • 原文地址:https://www.cnblogs.com/ysdrzp/p/9454314.html
Copyright © 2011-2022 走看看