静态方法无法直接调用非静态成员变量和方法 看到这句话,要想到形容的是这样的如下

静态方法里面无法调用非静态变量

下面在写一个对比非静态的方法和静态方法调用变量对比

问题原因

静态变量和静态的方法是属于类,不属于对象,调用的时候不需要实例化(当然如果你非要实例化之后在调用也是可以的),

非静态的变量和方法是属于对象的,调用的需要先实例化,这也就是上面图片中的name报错的原因,

大家需要注意,无法直接调用,并不是无法使用,我们实例化对象之后就可以调用的.

为了更好的理解,我写了一个demo

public class Student {private String name = "张三";private static String sex = "男";public void Name() {System.out.println(name);System.out.println("非静态方法Name");}public static void Sex() {System.out.println("静态方法sex");}public static void main(String[] args) {//非静态变量name调用Student student = new Student();System.out.println(student.name);// 静态变量SexSystem.out.println(sex);// 非静态方法调用student.Name();//静态方法调用Student.Sex();}}

可以看到,静态变量可以直接调用,静态方法输入类的,可以直接通过类.方法 的方法直接使用

非静态的变量在静态的方法中需要实例化对象,即是Student student = new Student(); 实例化对象student 然后通过对象调用方法和变量

为什么静态方法无法直接调用非静态成员变量和方法相关推荐

  1. 【C++静态成员函数不能调用非静态成员变量】

    C++静态成员函数不能调用非静态成员变量 静态成员函数 this指针 C++静态成员函数不能调用非静态成员变量原因 为什么要引入static 什么时候用static 致谢 静态成员函数 定义:静态成员 ...

  2. qt 静态成员变量_Qt 静态成员函数的调用非静态成员变量,非静态成员函数

    在多人开发的项目中,一些通用的工具类接口可以用静态成员函数.方便调用,并且不容易调用错误. 静态成员函数不传递this指针(不能->),不识别对象个体,所以经常用于对静态数据成员进行操作.不能操 ...

  3. 静态成员函数如何调用非静态成员变量

    ◆函数加参数解决方法 1).编译时候静态数据和成员函数就有了它的内存区,它不属于类的任何一个具体对象.所以,静态成员函数在编译时候就需要确定x及y的值,而那个时侯变量x,和y还没有创建,所以不可以访问 ...

  4. java静态方法调用非静态变量_[java]静态方法访问非静态方法的方法

    是不是是有点拗口哈,在刚开始的开发中,经常会碰到"无法访问非静态方法",如下: Test.java public Test{ public void notStatic(){ Sy ...

  5. php静态方法调用变量吗,php静态方法怎么调用非静态变量?

    php中,静态方法可以使用self关键词来调用非静态变量,例"self::$name":一个方法被"self::"后,它就自动转变为静态方法.注:静态方法不能调 ...

  6. 静态成员变量及方法的调用

    静态成员变量及方法的调用 收藏 先看代码: package lession1; import java.io.IOException; public class HelloWorld {    pri ...

  7. 类中的静态成员函数访问非静态成员变量

    http://blog.csdn.net/u011857683/article/details/52294353 1.思路: 静态成员函数属于类(通过类访问,调用函数时没有提供this指针), 非静态 ...

  8. 静态成员变量和非静态成员变量的对比

    静态成员变量和非静态成员变量的对比 1.存储的数据 静态成员变量存储的是所有对象共享的数据 非静态成员变量存储的是每个对象特有的数据 2.存储位置 静态成员变量是随着类的加载在方法区的静态区开辟内存了 ...

  9. 静态成员变量和非静态成员变量

    写在前面的总结: 静态成员变量是属于类的,就像是你买了一套房,属于固定资产:而非静态成员变量是不属于类的,就像是你租了一套房,主人套房子不属于你,因此,静态成员变量的调用可以直接通过类加域运算符的形式 ...

最新文章

  1. Windows与Linux之间互传文件的方法
  2. spring mvc基本概念
  3. Scrum立会报告+燃尽图(十一月十五日总第二十三次):代码规范与技术交流
  4. Android EditText回车不换行
  5. 检测到的ASP.NET设置不适用于集成管理管道模式
  6. undb php,显示html过滤报错,我不知道如何修改了。
  7. Pix2Pix Z图像翻译系统(自制)
  8. UItableView的一些特殊点击效果
  9. C语言求一个数组中第k大的数,leetcode | Median of Two Sorted Arrays 寻找2个有序数组中第k大的值...
  10. maven如何合并两个war到一个war项目中
  11. leetcode题库:4.两个排序数组的中位数
  12. linux桌面虚拟化-KVM
  13. 下载tensorflow速度慢怎么办?
  14. el-tree处理大量数据
  15. B 吃雪糕(科林明伦杯)
  16. 狼人杀攻略:你当我好骗吗,我们相信谁!
  17. 第一章 甄士隐梦幻识通灵 贾雨村风尘怀闺秀
  18. java毕业设计阿博图书馆管理系统(附源码、数据库)
  19. 2009 junior T1 多项式输出 题解
  20. echart简单使用

热门文章

  1. 基于Golang的监听读取配置文件的程序包开发——simpleConfig_v1
  2. 2021-2027年中国智能家居设备行业市场前瞻与投资策略规划报告
  3. 2022-2028年中国炼钢行业市场研究及前瞻分析报告
  4. 2022-2028年中国激光全息膜行业市场现状调研及市场需求潜力报告
  5. Linux下“/”和“~”的区别
  6. TensorFlow用法
  7. Docker_Swarm集群系统
  8. AlexeyAB DarkNet YOLOv3框架解析与应用实践(二)
  9. 图像超分辨率与天气预报
  10. Fragment之间传递数据的方式