java中变量的作用域

对于java中的变量来说,

变量大致可以分为全局变量和局部变量,

全局变量的作用域可以说是贯穿整个类,能被同类中的其他函数及函数内的if,while,for等使用,不用初始化,

或者说是不用程序员初始化,有默认初始化值;

局部变量是定义在函数内部的变量,只能在本函数内使用,不能被同类中其他函数使用,

必须自己初始化,系统不给出默认初始化。

写这个的目的是在看和做一些项目的时候总是先声明,然后再在使用的时候指向new,

比如先声明了一个对象User u=null;等到又一个if语句使用的时候再在{}中写u= new User();

其实本来应该是能在这个方法的一开始就直接写User u = new User();的,应该是为了减少冗余啥的,

就像单例模式中的懒汉式一样,用了才声明,这样理解应该是对的,如果你认为我错了,请指正,谢谢!

原文地址:https://www.cnblogs.com/toomucherror/p/10505599.html

时间: 2024-10-11 05:42:31

java中变量的作用域的相关文章

注意for循环中变量的作用域

for e in collections: pass 在for 循环里, 最后一个对象e一直存在在上下文中.就是在循环外面,接下来对e的引用仍然有效. 这里有个问题容易被忽略,如果在循环之前已经有一个同名对象存在,这个对象是被覆盖的. 如果在有代码感知的IDE中, IDE会提示变量是“被重新声明的”, 但运行时却不会出错. for循环不是闭包,可以使用dis模块分解以下代码可以看到: x = 5 for x in range(10): pass print x 将代码保存到test.py文件,运

java中变量命名和引用变量的一个坑

这次有两个主题,第一个太简单啦,就是java中变量的命名规则,纯记忆性东西.第二个主题,就是讨论一下对象引用变量的一个注意点. 如果你对命名规则很熟啦,就直接看第二个内容吧.(上边的图稍微有点顺序紊乱啊) 一.java中变量的命名规则 大多数语言的命名规则是相似的,只有一些微小的差别. 变量的第一个位置,可以是字母,下划线(_),美元符($) (这个在c/c++,python中是不行的)(注意:不能是数字哦,一想就知道啦为什仫) 其他的位置可以是数字,字母,下划线 不能使用java中的关键字 j

java中变量运算细节 (2)

/* 目的:测试变量的运算方式 结果:byte a, b, c; a = b+c; 或者 a = b+10 形如这种形式的算式, 等式的右边的运算结果默认的都是int型的!因为等式右边有变量, 编译器无法确定变量的内容 ,因为它是变量!所以相加之后得到的int再默认强制转换成byte可能会损失精度. 而形如 a=4+5:这种常量的赋值,虽然 4 和 5 都默认的是int, 但都是常量,它们的值是确定的!所以如果 4+5的值超过了 byte的最大值的范围, 那就会编译出错!(也就是等式右边都是常量

Python中变量的作用域(variable scope)

http://www.crifan.com/summary_python_variable_effective_scope/ 解释python中变量的作用域 示例: 1.代码版 1 #!/usr/bin/python 2 # -*- coding: utf-8 -*- 3 """ 4 ------------------------------------------------------------------------------- 5 Function: 6 [整理

Java基础---Java中变量使用规则(六)

Java中变量的使用规则 不得不接受的变量小脾气: 1.Java 中的变量需要先声明后使用 2.变量使用时,可以声明变量的同时进行初始化,也可以先声明后赋值 3.变量中每次只能赋一个值,但可以修改多次 4.main 方法中定义的变量必须先赋值,然后才能输出 关于 String :表示变量中存储的数据的类型为字符串,后面小节中会详细讲到,小小期待吧~~ 代码: public class HelloWorld{    public static void main(String[] args) { 

JavaSript中变量的作用域 闭包的理解

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /* * 1.js中的变量都是公用的. 2.js中没有静态变量 3.闭包:函数内部可以调用函数外部的变量;反之,则不行 */ var r=10; fu

if、while中变量的作用域问题

我们知道,函数.类会改变当前变量的作用域.if,while等分支循环结构会继承外部作用域,即外部变量对分支循环结构内部可见. 但是C语言不支持if,while等分支循环结构内部作用域对外可见,而PHP则不然. 在PHP中,if,while等分支循环结构中声明的局部变量,在分支循环结构后面仍然有效. 比如,函数中声明的变量在函数外面是不可见的 C语言:01 #include<stdio.h>02  03 int foo()04 {05     int bar;06     bar  = 3;07

C/C++——C++变量的作用域与生命周期,C语言中变量的作用域和生命周期

全局变量 作用域:全局作用域(全局变量只需在一个源文件中定义,就可以作用于所有的源文件.) 生命周期:程序运行期一直存在 引用方法:其他文件中要使用必须用extern 关键字声明要引用的全局变量. 内存分布:全局数据区 注意:如果在两个文件中都定义了相同名字的全局变量,连接出错:变量重定义 全局静态变量 作用域:文件作用域(只在被定义的文件中可见.) 生命周期:程序运行期一直存在 内存分布:全局数据区 定义方法:static关键字,const 关键字 注意:只要文件不互相包含,在两个不同的文件中

对Java中变量作用域理解

昨天写一个java小程序测试与oracle数据库的连接,小程序如下: package com.test; import java.sql.*; public class procedure { public static void main(String[] args) { try { Class.forName("oracle.jdbc.driver.OracleDriver"); Connection ct=DriverManager.getConnection("jdb