【Java】——所有变量

前言

          在Java语言中,变量有很多种,大家总是傻傻分不清楚~,接下来让我带你搞清楚这个东西吧

正文:   

      首先大家要知道共有几种变量:

                                            

   问题发现与解答:   

     那么看到这里大家可能会有几个问题:

               问题一:什么是实例属性?什么是类属性?

               问题二:什么是代码块? 

               问题三:成员变量和全局变量什么关系?

     下面来一一解答:

              1、要想搞清楚什么是实例属性、类属性,前提是知道什么是实例,什么是类(这个在这里就不多说,不清楚的大家自己查下)。实例属性:与实例(对象)相关的也就是这个属性属于某一个new出来的具体对象(实例),实例属性的生命周期随实例的存在而存在。类属性:与类相关的,而不属于某一个new出来的具体对象(实例),类属性的生命周期随类的存在而存在。

              2、代码块:Java代码块,直接写在花括号{}中的,没有方法名的称之为代码块,常见的代码块有四类:静态代码块、构造代码块,局部代码块,同步代码块。关于代码块,小编之后会推出博客来详解!     

             关于代码块的博客已经推出,点击查看:【Java】——Java四大代码块

              3、首先,java中是没有全局变量这个概念的,java程序中不能像C++那样在类外定义全局变量,因为JAVA当初出现的初衷就是为了安全性和跨平台性,所以去掉了类似C、C++中的全局变量的概念。JAVA中不应该有所谓全局变量的概念,全局变量严重影响了封装和模块化,所以中需要所谓的全局变量,那一定是对程序的设计出了问题。以上是网上的观点,但就我目前来说,一个能在全局上使用的变量是有必要的。

             第二点,java提供了public static关键字来实现一个全局的变量。如果程序只有一个包的话,那么将这个public static(被声明为static的变量不需要实例化对象即可直接使用类名来引用之) 修饰的变量放到程序初始化的地方去实现,就可以在这个程序的各个地方直接调用这个变量了。这虽然不叫全局变量,但实际使用中和全局变量的意思是一样的。当然你也可以完全不用全局变量,可以写一个类,定义一般变量,并为该类定义一些操作变量的方法,通过调用可以更改变量的这些方法来达到使用全局变量的目的。

   变量在代码中的体现:

           类变量:                   

           public class TestScope{
              static int i //成员变量之类变量,特点:声明在类内方法外,且有Static关键字修饰。
              public static void main(String[] args)
              {
                 for(i=0;i<10;i++)
                 {
                    System.out.println("Hello");
                 }
              }
            }            

           实例变量:

           public class TestScope{
              int i //成员变量之实例变量,特点:声明在类内方法外,无Static关键字修饰。
              public static void main(String[] args)
              {
                 for(i=0;i<10;i++)
                 {
                    System.out.println("Hello");
                 }
              }
            }                            

            方法中的变量:                

         public class TestScope{             
              public static void main(String[] args)
              {
                   int i //局部变量之方法中的变量,特点:声明在方法内
                   for(i=0;i<10;i++) 
                   {
                      System.out.println("Hello");
                   }
              }
           }    

           代码块中的变量:   

           public class TestScope{             
                  public static void main(String[] args)
                  {
                      for(int i=0;i<10;i++) //局部变量之代码块红的变量:定义一个代码块局部变量:特点在代码块中
                      {
                          System.out.println("Hello");
                      }
                  }
            }      

           形参:

                关于形参大家应该都知道,在方法的参数位置所声明的变量,即为形参!

总结:

              看到这里,关于这几种变量大家应该有了一个了解,首先变量宏观上分为两类:成员变量和局部变量。成员变量中包括类变量和实例变量。局部变量也包含三种:形参,方法局部变量,代码块局部变量。这个时候我们就会遇到一个问题,上面所介绍的几类参数均可以实现打印出多行Hello的功能。那么这个时候我们该选择把变量“i”以何种方式声明?

             其实这个时候,咱们就应该思考下这不同变量的生命周期和其作用域????思考下吧baby~~

             下篇博客为大家揭晓~~~


                                                                  感谢你的阅读~❀

                                     

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值