A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵文杰 山林野马   /  2012-5-23 19:35  /  2913 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

             被static关键字修饰的方法有什么特点?

13 个回复

倒序浏览
被static关键字修饰的方法有什么特点?

static意思是静态的,他修饰的方法或者属性存放在静态区,
是共享的,公共的,不属于任何一个对象,
所以可以直接通过类名.来调用,不需要new对象,

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
被static修饰的方法叫静态方法,静态方法只能访问静态成员。而非静态方法既可以访问静态成员也可以访问非静态成员。因为静态优先于对象存在,所以静态方法中不可以定义this,super关键字。还有就是主函数也是静态的,在调用静态方法时不用new对象,直接用类名.静态方法的形式即可。
以上是我在学习中总结的,如有不足还望指出
回复 使用道具 举报
被static修饰的方法,是静态的,通过类名调用
回复 使用道具 举报
静态方法只能访问静态成员。非静态方法既可以访问静态也可以访问非静态。
静态方法中不可以定义this,super关键字。因为静态优先于对象存在。所以静态方法中不可以出现this。
静态方法可以不用创建对象直接通过类名.方法调用
回复 使用道具 举报
既然定义为静态方法,就是方便用类名调用的,仅做充不.......{:soso_e176:}
回复 使用道具 举报
还不错,更加理解了
回复 使用道具 举报
于潇 中级黑马 2012-5-23 23:27:52
8#
使用static声明的属性和方法可以由类名称直接调用,static属性是所有对象共享的,所有对象都可以对其进行操作。
用 static的修饰的变量和方法,实际上是指定了这些变量和方法在内存中的“固定位置”-static storage。既然要有“固定位置”那么他们的 “大小”似乎就是固定的了,有了固定位置和固定大小的特征了,在栈中或堆中开辟空间那就是非常的方便了。如果静态的变量或方法在不出其作用域的情况下,其 引用句柄是不会发生改变的。
引用static的方法和变量,不需要和实例捆绑在一起,这可以提高代码的编写的效率
如果需要创建一个脱离于实例的变量或方法(只与整个类有关),那么用static作修饰是再好不过了,如我们经常看到要统计实例实现的个数(通常的例子就是计数)
回复 使用道具 举报
Static关键字:
Static可修饰内容:1、可修饰变量、属性;2、可修饰方法;3、可修饰代码块。

Static int data;
说明data为一个类的共享变量,属于整个类。

public static void printData() {}
表明此类方法为静态方法。静态方法不需要new对象,直接使用类名调用。

当static修饰一个代码块的时候,就为静态代码块。一般都会作为初始化静态成员,它会随着类的加载而执行。

另外需要注意的是理解:静态方法不允许访问类的非静态成员,包括成员的变量和方法。必须使用类调用。最好的理解就是main方法是静态的,而且主方法是整个程序的入口,而在进入入口的时候,系统中是没有任何对象的。

还用静态方法不能被覆盖,需要注意。子类可以继承父类静态方法,但不能覆盖重写。

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
jiyixuan 发表于 2012-5-24 00:32
Static关键字:
Static可修饰内容:1、可修饰变量、属性;2、可修饰方法;3、可修饰代码块。

修饰的变量只有成员变量,局部变量无法用static修饰
回复 使用道具 举报
用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。
回复 使用道具 举报
lyz1024 黑马帝 2012-5-24 10:29:38
12#
不管是身处上坡还是下坡,恰当的时候必定要理解让自己停下来,驻足回看是为了更好地迈进。

风物长宜放眼量
回复 使用道具 举报
static 修饰的方法:

只要你调用了这个类,这个方法在一开始就会自动加载到静态方法区中。

调用的方法是  类名.方法名   

注意的是:

在静态方法里面,不可以访问非静态的方法
回复 使用道具 举报
static用于修饰成员(成员变量和成员函数)
被修饰的成员具备以下特点:
1.随着类的加载而加载
2.优先于对象存在
3.被所有对象共享
4.可以直接被类调用
使用注意:
1.静态方法只能访问静态成员
2.静态方法中不可以有this、super关键字
3.主函数必须是静态的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马