zoukankan      html  css  js  c++  java
  • java-堆,栈,类和对象,方法

    栈(Stack):也被称为虚拟机栈,用来存放在方法执行时的变量。其中包括了
    变量的句柄(变量名)和变量的值。引用类型的值放的是地址值。并且
    栈中的变量会在方法结束后消亡.

    堆(Heap):通过new创建出来的对象都放在堆空间中,还包括像数组
    集合等这些都存在堆中,堆空间的每一个地址都是唯一的,栈中句柄
    引用堆的地址值,所以如果一个地址被多个句柄引用,其中一方改变
    会影响其他正在使用的句柄。堆中的内存通过GC来回收.

    常量池:常量是不可变的变量,直接赋值的String变量的值就存储在
    常量池中,String的每次改变都会创建一个新的变量


    类和对象
    类:由一组事物的特征和行为抽象的一个概念
    对象:具体存在的事物

    类和对象是相互的,需要去描述一个复杂的事物,需要根据事物的特征
    和行为抽象出类
    根据类(模版)来创建的对象,这个对象具有类描述的所有的特征和行为

    编写类的时候考虑内聚性
    一个类应该只描述和当前类相关的事物,比如学生类中就需要只放
    学生的基本的特征和行为,而不要出现无关的比如班级名和老师的电话

    类不能直接使用(非绝对),类本身是抽象的,应该要使用类的对象
    使用对象通过类来创建,语法
    类名 对象名 = new 类名();
    对象名.属性 对象名.方法()

    一个类是可以创建N个对象,这些对象之间互不影响,每个对象在堆中
    都有自己的空间

    方法:一组代码封装的特定的功能
    java的方法分为有参和无参,还分为带返回和无返回
    声明方法的语法:
    访问修饰符 返回类型 方法名(【参数列表】){
    方法体
    【return 返回值】
    }

    局部变量和全局变量
    全局变量:类中声明的属性就被称为全局变量,也可以称为成员变量
    局部变量:声明在方法中的变量称为局部变量

    全局变量的使用范围:在整个类的所有方法中共享使用
    局部变量的使用范围:在方法内有效(逻辑控制语句的花括号内)

    在同一个方法中不能有两个局部变量同名,但是局部变量可以和全局
    变量同名。如果局部和全局同名,在方法中使用的时候优先使用局部
    变量,如果非要使用全局变量 this.全局变量

    局部变量需要赋予初始值才能使用
    全局变量不需要,有默认值,引用类型null


    方法的参数分为
    形参:形式参数,定义在方法的小括号内,形参的作用用来
    接收在调用该方法时传递过来的实参的数据。java方法中的
    形参需要声明参数类型
    实参:调用带参方法时,传递的实际的数据或者一个变量称为
    实参,数据交给形参接收使用,实参的个数和类型要与形参
    一一对应

    在传参时,java传递的是值,基本类型的数据值和引用类型
    的地址值。如果传递的是String,形参的改变不会影响实参
    String是不可变类型

    带返回的方法需要使用return关键字
    return关键字:一个方法中可以有多个return语句,但是只能执行
    一条return,在执行完return语句后方法会立即结束,并且返回
    return后面的值。如果return后面跟了数据,需要指定方法的返回
    类型

  • 相关阅读:
    栈区,堆区,全局区,文字常量区,程序代码区 详解
    2010年IT行业十大收购
    三大数据备份方式:完全备份、增量备份以及差异备
    Driver Development Part 1: Introduction to Drivers (code project)
    手工构造典型PE文件(转)
    访问IIS元数据库失败[转]
    代码注入的三种方法(转)
    对象的初始化(转)
    网络和黑客编程基本知识 (转)
    破解linux中root密码(图) 转自csdn
  • 原文地址:https://www.cnblogs.com/beiluoL/p/10319667.html
Copyright © 2011-2022 走看看