当前位置: 首页 > news >正文

菜鸟教程第一天

1、Java变量类型

1.1 成员变量可以声明在使用前或者使用后。这句话怎么理解?

大家都知道,如果你在代码中使用这个变量,但是在此之前没有声明这个变量,是会报错的。如果是局部变量,在使用前,必须得声明并初始化才可以。成员变量即使你没有给它进行初始化,但是Java会自动给它一个默认值,所以在使用前必须得声明。
那菜鸟教程中的这句话不就有问题了吗?
但是想想自己的水平,总觉得质疑它有点问题,因为就先去百度一下这句话应该怎么理解。
成员变量可以声明在使用前或者使用后——成员变量是类的属性,你可以在类的任何地方声明成员变量,而不仅仅是在使用该变量前。

学任何知识点都要具备质疑之心,但是在提出你的质疑之前,你得先确保你质疑的东西是正确的。

1.2 成员变量在静态方法中为什么要用完全限定名来进行访问?

我们都知道,静态方法中只能访问静态变量,成员变量如果不用static修饰,那在静态方法中使用该成员变量就会报错。
静态方法和静态变量都是跟类直接关联的,在类加载的时候开始初始化静态变量和执行静态方法的,它们不依赖于类的实例。
但是成员变量是与类的实例相关联的,在创建对象的时候才会初始化成员变量。
因此,在静态方法中,无法直接访问非静态的成员变量,因为静态方法没有隐式的this引用,它不能直接使用实例变量。
为了在静态方法中使用非静态的成员变量,你需要使用完全限定名,即类名.变量名的方法。这样做是为了明确你要访问的成员变量所属的类。
如果在方法中定义了一个与类的成员变量同名的变量,那么在该方法中调用该变量名时,优先访问的是局部变量还是成员变量?
优先访问的是方法内部的局部变量。局部变量具有更高的优先级,并且会隐藏同名的成员变量。如果你想调用的是成员变量,请问完全限定名的方式调用该变量。

可以在非静态方法中访问静态变量。

http://www.lryc.cn/news/150121.html

相关文章:

  • 数据结构--5.2马踏棋盘算法(骑士周游问题)
  • 如何使用CSS实现一个响应式图片幻灯片(Responsive Image Slider)效果?
  • Linux学习之lvm删除
  • bazel介绍以及其发展历史
  • 固定资产管理分析怎么写?
  • 【项目源码】一套基于springboot+Uniapp框架开发的智慧医院3D人体导诊系统源码
  • 可能的二分法 -- 二分图判定【DFS、BFS分别实现】
  • 六级翻译备考
  • Vue框架--Vue中的数据绑定
  • Unity——热更新浅析
  • IMPLEMENT_DYNCREATE的分析
  • Java实现根据短连接获取1688商品详情数据,1688淘口令接口,1688API接口封装方法
  • ABAP FICO 凭证替代 凭证校验
  • 项目验收有哪些流程?
  • C++,类的继承
  • 作业33333333
  • Spring Cloud--从零开始搭建微服务基础环境【二】
  • 算法工程题(中序遍历)
  • jsch网页版ssh
  • 教程i.MX8MPlus开发板SPI转CAN操作
  • Docker中容器的随机命名方式
  • 大数据Flink实时计算技术
  • 数学中的自由与我们的生活
  • 8 python的迭代器和生成器
  • Git的基本使用笔记——狂神说
  • 【小程序】外部二维码扫码打开微信小程序并跳转到指定页面
  • bazel安装
  • Typescript的class语法[类]的操作和应用
  • OPENCV实现暴力特征匹配
  • 揭秘亚马逊Amazon测评,掌握细节和技巧,提升产品销量和评论数量