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

     面向对象和面向过程

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

    对象和类

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

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

    成员变量和局部变量

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

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

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

    匿名对象

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

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

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

  • 相关阅读:
    ASP.NET Cache的一些总结分享
    C#中委托和事件的区别实例解析
    [hdu2544]最短路spfa
    [codeforces274b]Zero Tree(树形dp)
    [poj2151]Check the difficulty of problems概率dp
    [poj3071]football概率dp
    [poj3744]Scout YYF I(概率dp+矩阵快速幂)
    [bzoj2440]完全平方数(二分+mobius反演)
    [xdoj1216]子树第k小(dfs序+主席树)
    [xdoj1233]Glory and LCS
  • 原文地址:https://www.cnblogs.com/ysdrzp/p/9454314.html
Copyright © 2011-2022 走看看