Java作用域与生命周期

    科技2024-05-13  87

    基本数据类型的作用域

    作用域决定了在其内的变量名的可用性和生命周期,与c、c++一样,作用域由花括号的位置决定

    { int x = 5; { // x,y都可用 int y = 6; } // 只有x可用 }

    尽管下列代码在c、c++中合法,但在Java中不能使用

    {//c、c++中将一个较大作用域的变量“隐藏”起来的做法在Java中不允许 int x = 5; { int x = 6; } }

    对象的作用域 Java对象不具备基本类型一样的生命周期,当用new创建对象时,它可以存在于作用域之外

    { String s = new String("aaa"); }

    引用变量s在作用域终点便会消失,但是其指向的String字符串却一直存在,但我们却无法访问

    那么就会有另一个问题:如果这些对象一直存在,那么如何防止其填满内存空间,进而阻塞程序? 这就引出了Java的垃圾回收机制:用来监视用new创建的所有对象,并辨别那些不会再被引用的对象,随后释放其内存空间

    Processed: 0.009, SQL: 9