zoukankan      html  css  js  c++  java
  • 面向对象——概念(成员变量、静态变量、成员方法、静态方法、垃圾回收机制、重载、包)

    静态变量和成员变量的区别:

        1、成员变量描述的是对象的特征,包含在对象之中。不同的对象成员变量彼此独立。一个对象成员变量的改变,不会影响其他对象。

            静态变量独立在对象之外,是所有对象共享的变量。静态变量改变后会影响所有对象。

        2、成员变量只能通过对象.的方式访问。而静态变量,可以通过对象.的方式访问,也可以通过类名.的方式访问。所以静态变量也称为类变量

        3、成员变量存放在堆空间中,静态变量存放在数据段中。

     

    静态方法和成员方法的区别:

     

        1、静态方法加载时机在对象之前,可以通过对象.和类名.的方式访问。而成员方法只能通过对象.的方式访问。

     

        2、静态方法不能直接访问成员变量和成员方法。成员方法可以访问成员变量和静态变量

    垃圾回收机制:

      虚拟机进行垃圾回收时,回收的是没有被变量指向的对象。该过程程序员无法控制。但是可以通过调用System.gc(),加快垃圾回收的速度。

     

    变量按作用域分,分为三种:

     

          1、局部变量,存放在栈空间中,书写在方法或语句块中。语句块一结束,变量空间马上释放。所以,局部变量不能跨方法或语句块使用。

     

          2、成员变量(属性):存放在堆中,书写在方法外,类中。随对象产生而产生,随对象销毁而消失。

     

          3、静态变量(类变量):存放在数据段中,书写在方法外,类中。加上static修饰符。常驻内存,不会消失。

     

    重载概念:

          重载发生在同一个类中,两个方法的方法名相同,参数列表不同(参数类型、参数个数参数位置),和返回类型无关。调用方法时。根据方法的参数来决定执行哪个方法。

    包:

       就是文件夹,通过package定义该类所在的包。

    包的作用:

         1.可以组织相关的类

         2.可以做到信息隐藏。即去掉public后,类不能被其他包调用

      如果一个包中的类,要想访问别的包中的类,可以通过import,导入该类。下面两种包中的类无需导入可以直接使用。

           1.本包中的类

           2.java.lang包中的类

     

     

     

     

  • 相关阅读:
    newifi3-D2 openwrt挂载u盘扩容/overlay
    # mac使用homebrew安装jdk和tomcat
    React学习小记--setState的同步与异步
    [vscode直接运行js文件报错]: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
    # js权威指南之对象篇
    # 初体验之腾讯位置服务彩云天气开发者api
    自用资源合集(持续更新)
    网页嵌入播客
    网页嵌入音乐歌单
    All live
  • 原文地址:https://www.cnblogs.com/jichuang/p/6536656.html
Copyright © 2011-2022 走看看