首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
类方法中可以直接调用对象变量。( )
[单选题]
类方法中可以直接调用对象变量?
正确
错误
查看答案及解析
添加笔记
求解答(37)
邀请回答
收藏(2535)
分享
92个回答
添加回答
300
后劲好大
静态方法中不能调用对象的变量,因为静态方法在类加载时就初始化,对象变量需要在新建对象后才能使用
发表于 2017-06-05 19:45:38
回复(22)
117
Payon
我真的很晕这些题,如果题目明确指出是“
直接调用
”那么我肯定认为是错误的,但如果仅仅是写出“
调用
”那么我仍然是可以new出一个对象然后进行调用,此时这题就是正确的。
发表于 2017-06-01 17:22:57
回复(12)
65
Z4Knight
当试图在类方法(也就是静态方法)中调用类的非静态变量时,eclipse 给出了这么一句话
Cannot make a static reference to the non-static field xxx(xxx代表你所写的非静态域的名字)。
这句话意思很简单,
就是不能静态方法中引用非静态的域。
原因也很简单
关于类初始化的过程中,静态域是随着类加载就完成了初始化,而非静态域此时都没有完成初始化,你引用它肯定就出错了。
如有不对之处,还请指出!
发表于 2017-05-19 16:49:44
回复(9)
52
老黑NO1
类方法是属于一个类的 是类的静态方法。调用方法是 类名.方法名(); 类方法主要用于工具类的方法。 类变量也叫静态变量,也就是在变量前加了static 的变量; 实例变量也叫对象变量,即没加static 的变量; static修饰的方法不能直接调用没有static的方法 要new一个对象出来 才能调用
发表于 2018-04-04 18:07:10
回复(2)
20
小胖java攻城狮
类方法=类的静态方法 类变量=类的静态变量 对象方法=类的非静态方法 对象变量=类的非静态变量 所以static方法调用非静态变量不行,必须初始化对象之后调用
发表于 2021-03-05 15:12:54
回复(0)
9
ELLIOTnT
静态方法中调用非静态变量时不行
编辑于 2017-11-07 16:15:10
回复(0)
8
🐮年offer收割机
类方法指的是类的静态方法
发表于 2017-06-12 20:42:45
回复(0)
6
笨小孩ovo
千万别忽略了静态方法,静态方法是不能调用对象的变量,因为他们初始化的时期都对不上,静态方法是在类加载时就初始化了,而对象变量需要在新建对象,也就是实例化后才可以使用。
发表于 2021-12-17 11:42:03
回复(0)
6
ZL125
我还寻思对象变量是什么鬼,直接自己new一个String 也是对象变量啊,竟然隐含说的是成员变量。。
发表于 2019-03-27 19:32:04
回复(1)
5
bbblemon
选B
同一个类中的成员变量是在类加载完成后,实例化时才用的,比静态方法出现的晚,可能不能访问。
编辑于 2018-06-29 11:35:20
回复(0)
3
坚持每天刷题
这个从JVM层面看就会显得很合理了,如果硬记的话就很容易忘记的。
首先类方法是指被static修饰的方法,类方法在类加载的时候就会分配内存,但是对象变量(成员变量)在实例化的时候才分配内存,所以在对象变量不存在的时候,类方法已经存在了,此时调用类方法调用不存在的对象变量属于非法操作,所以不允许。
发表于 2023-06-26 19:33:43
回复(0)
2
林夕寻
静态方法不能调用对象变量
发表于 2022-10-12 23:13:48
回复(0)
2
牛客436278495号
此处的类方法指的是静态方法,对象变量指的是非静态变量
发表于 2022-07-25 15:51:11
回复(0)
2
执梗
类方法就是静态方法,是属于静态域的,对象变量是非静态变量,是属于非静态域的。静态域在类初始化就存在了,这时还没有初始化非静态域,调用非静态域的方法或变量肯定都是错的。试想我们的main函数就只能调用静态方法,因为main方法是静态方法
发表于 2021-11-29 10:08:04
回复(0)
2
飞翔的企鹅3550771168
就我一个C++来的吗,请不要把Java标签和C++放在一起,服了
发表于 2020-12-02 22:15:59
回复(0)
2
北飃馬
这题忽略了静态方法不能调用对象变量
发表于 2018-04-15 13:31:31
回复(0)
2
课代表01
什么是对象变量!?
发表于 2017-07-28 00:31:29
回复(0)
0
不嘻嘻嘻嘻嘻嘻
静态只能调用静态
发表于 2024-11-09 16:49:27
回复(0)
0
Warming0126
静态方法中只能使用static修饰的变量,即静态变量,对象变量是指类的成员变量,即需要new出来才能调用。类的静态方法是在类编译时就会加载,而对象变量是在运行实例化之后才会使用。
发表于 2024-03-27 23:19:35
回复(0)
0
牛牛-小林同学
我new出来调用 难道不是直接调用吗 文字游戏
编辑于 2024-02-29 09:43:17
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++
Java
上传者:
Letitia
难度:
92条回答
2535收藏
12060浏览
热门推荐
相关试题
运行 ldd hello 可以得到...
百度
C++
评论
(3)
编程题 ,按照要求创建Java 应...
Java
评论
(1)
微型计算机有三种总线,他们分别是数...
编程基础
评论
(1)
计算机系统中用于管理硬件和软件资源...
编程基础
评论
(1)
说出3个获取用户需求的方法并简述其...
用户研究
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题