社区
Java SE
帖子详情
关于一个静态变量的问题
dyy830606
2008-03-31 07:35:36
我在父类里边定义一个变量,在子类的main函数中调用,提示非静太变量不能在静态 的变量中使用,难道非要将父类中的变量定义为静太的才能在子类的main函数中使用么.能不能具体的分析一下内存,说明一下为什么!
...全文
211
22
打赏
收藏
关于一个静态变量的问题
我在父类里边定义一个变量,在子类的main函数中调用,提示非静太变量不能在静态 的变量中使用,难道非要将父类中的变量定义为静太的才能在子类的main函数中使用么.能不能具体的分析一下内存,说明一下为什么!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liuyiwu
2008-04-06
打赏
举报
回复
或者你这样理解试试看:
你把static方法看作方法体内没有this关键字的方法。
java的类中的实例方法都会隐含的为其中的调用本类的方法和变量加this关键字。this关键字代表此类的实例自己。在static方法中,没有this关键字(没法加this),在其中无法调用本类的方法和变量。
这个是《Think in Java》里说的,希望对你有帮助。
54powerman
2008-04-05
打赏
举报
回复
[Quote=引用 1 楼 java2000_net 的回复:]
那是因为你的main是static,当然只能直接访问static的变量啦!
[/Quote]
mark!
回答问题就要这样,不需要一句废话。:)
tsliyangyang
2008-04-05
打赏
举报
回复
class B{
int a=3;
}
public class Sum extends B{
public static void main(String[] args){
Sum s=new Sum();
System.out.println(s.a);
}
}
用的时候实例化一下就可以了。
YOYO1984
2008-04-05
打赏
举报
回复
其实我觉得 你在学习java的时候应该重点 学习一下程序在内存中的状态是怎么样的,那样会对你有很大帮助。你的思路会很清晰
你在子类的main方法中定义一个子类的对象,然后子类对象就可以直接到用父类的变量了。很简单
liuqianqian
2008-04-05
打赏
举报
回复
可以学习一下!呵呵
main方法式静态的,所以要直接使用变量,变量就应该设置成静态的!
我觉得不用在这个地方较真,要绝对相信你的代码,代码说什么就是什么,要什么就给什么!
jojo_m
2008-04-05
打赏
举报
回复
学习了,但貌似回答问题都没说到点子上,湖里糊涂中。。
loyoathlon
2008-04-04
打赏
举报
回复
静态方法的执行在对象实例化之前
非静态属性赋值在对象实例化之后
试问 静态方法如何调用非静态属性?
如果静态方法调用非静态方法 非静态方法自然可以访问非静态属性
那么等于是 静态方法调用了非静态属性……
所以静态方法也不可以调用非静态方法
jimmy54
2008-04-04
打赏
举报
回复
学习了
左师佑图
2008-04-04
打赏
举报
回复
学习了
whmjxa
2008-04-04
打赏
举报
回复
你可以创建一个该类的对象,通过此对象在静态方法中调用非静态变量
dyy830606
2008-04-04
打赏
举报
回复
好多牛人啊,呵呵
hoszone
2008-03-31
打赏
举报
回复
类变量属于某一个事例的,类静态变量是属于类的,所有的事例都共用这个静态变量
如 class Test 有一个类变量 t1,一个静态变量t2
t1的使用如下
Test t = new Test();
int temp = t.t1;
t2 的使用
int temp1 = Test.t2;
dyy830606
2008-03-31
打赏
举报
回复
我记者只发了一个帖子啊,怎么出来了两个,晕 ,这个是真货
f12014
2008-03-31
打赏
举报
回复
顶个 本人也遇到拉同样的问题
Gump09
2008-03-31
打赏
举报
回复
1
静态变量和方法从属于类,而实例变量和方法从属于实例。
前面的方法是static,后面的方法不是静态的????
-----------------------------------------------
静态==static 是说在翻译时把英文static翻译为静态
2
类变量是类的静态变量???
-----------------------------------------------
对 类变量是类的静态变量
3
什么时候加在的F中的静态变量
-----------------------------------------------
F中的静态变量是在读取F 的class文件时就加载了的。
dyy830606
2008-03-31
打赏
举报
回复
静态变量和方法从属于类,而实例变量和方法从属于实例。
前面的方法是static,后面的方法不是静态的????
类变量是类的静态变量???
类方法有隐含指针指向class对象(而不是实例对象)。 这句不太明白是不是说静态的方法再没有声明对象的时候就已经连上了,可以访问类中的静态属性和方法.所以非静态的属性和方法在编译的时候出错,还有,可能是编译原理上的东西,我想知道,new出来的新对象,在编译期间执行么?还是到运行的时候才生成,静态变量和方法呢,在编译期间都做了写什么,代码都放到相映的内存中去了么
你的意思是不是
静态的变量存放在数据区,所有的类都共享同一个静态变量,如父类F子类S,子类S中有main方法,我想问什么时候加在的F中的静态变量,是在NEW一个新的对象的时候加在的,还是在那之前的声明一个对象F F的时候,还是在加在main方法的时候,顺序搞不太清.
Gump09
2008-03-31
打赏
举报
回复
静态变量和方法从属于类,而实例变量和方法从属于实例。
也就是说如果一个类还没有被创建实例那么它的实例变量是找不到的。
而静态变量和方法是可以使用的。所以类方法只能引用类变量。
类变量随着class字节流文件的加载而加载。
类方法有隐含指针指向class对象(而不是实例对象)。
所以它可以通过引用class对象而得到类变量的值。.
而实例变量的值是随着实例生成而生成的。
类方法无法通过隐含指针去得到实例引用所以无法得到实例变量的值。
dyy830606
2008-03-31
打赏
举报
回复
对啊,我明白我的main方法是静态的,我就是想问问,如果子类中的用了main方法调用父类的属性,是不是必须用静态的
soief
2008-03-31
打赏
举报
回复
那是因为你的main是static,当然只能直接访问static的变量啦!
却是这样的
dyy830606
2008-03-31
打赏
举报
回复
好象main方法必须是静态的吧,HelloWorld没用静态的通不过
加载更多回复(2)
java六大必须理解的
问题
文档
java六大必须理解的
问题
、内容比较详细、写的比较具体
python
静态变量
和静态方法
一、
静态变量
和静态方法 1、
静态变量
和静态方法都属于类的静态成员,它们与普通的成员变量和成员方法不同,
静态变量
和静态方法只属于定义它们的类,而不属于某
一个
对象。 2、
静态变量
和静态方法都可以通过类名和对象进行访问。 二、
静态变量
示例 class StaticMenthod: count = 0 #
静态变量
,不需要显示的声明 def __init__(self): StaticMentho...
静态变量
不能跨函数使用
这个程序从语法上没有错误,但是从逻辑上讲是有
问题
的。因为调用function()函数已经执行完毕函数内存的
静态变量
已经释放,p就不能指向i 但是却把 i的内存变量值读取出来了,这是不可以的。
静态变量
不可以跨函数使用 #include <stdio.h> void function(int ** q) { //q是个指针变量,无论q是什么类型指正变量,都只占4个字节 ...
Java static
静态变量
只有
一个
,被类拥有
java类提供了两种类型的变量:用static关键字修饰的
静态变量
和没有static关键字修饰的实例变量。 1.
静态变量
属于类,在内存中只有
一个
副本(所有势力都指向同
一个
内存地址)。只要
静态变量
所在的类被加载,这个静态类就会被分配空间,因此就可以被使用。对
静态变量
的引用有两种方式,分别为“类.
静态变量
”和“对象.
静态变量
”。 2.实例变量属于对象,只有对象被创建后,实例变量才会被分配空间,才能...
静态变量
与非
静态变量
的区别
静态变量
的类型说明符是static,非
静态变量
反而类型说明符就不是static了。本文主要介绍静态和非
静态变量
的区别,希望对你有帮助,一起来看。 AD:
静态变量
:
静态变量
使用 static 修饰符进行声明在所属类被装载时创建通过类进行访问所属类的所有实例的同一
静态变量
都是同
一个
值非
静态变量
:不带有 static 修饰符声明的变量称做非
静态变量
在类被实例化时创建通过对象进行访问同
一个
类的不
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章