java静态方法(方法前冠以static)和实例方法(未冠以static)的区别
答案:2 悬赏:0 手机版
解决时间 2021-02-25 18:58
- 提问者网友:浩歌待明月
- 2021-02-25 06:25
java静态方法(方法前冠以static)和实例方法(未冠以static)的区别
最佳答案
- 五星知识达人网友:神也偏爱
- 2021-02-25 07:45
静态方法(方法前冠以static)和实例方法(前面未冠以static)的区别
调用静态方法或说类方法时,可以使用类名做前缀,也可以使用某一个具体的对象名;通常使用类名。
非static的方法是属于某个对象的方法,而static的方法是属于整个类的,不被任何一个对象单独拥有;
由于static方法是属于整个类的,所以它不能操纵和处理属于某个对象的成员变量,而只能处理属于整个类的成员变量,也即,static方法只能处理static域或静态方法。实例方法可以访问实例域, 静态域或静态方法, 记住都行。
声明为static的方法有以下几条限制: 1.它们仅能调用其他的static方法。
2.它们只能访问static数据。
3.它们不能以任何方式引用this或super(关键 字super与继承有关,在下一章中描述)。
static method Have No this Reference
All instance methods have a hidden parameter—this
So,
Static method can’t access instance methods and fields; it can only
invoke other static class
members.It can access class members only.
instance can use static method.
Instance methods:
If a method is declared without the static modifier keyword,
that method is known as an instance method. Instance methods
are associated with objects – not classes.
It can access either instance or class members.
本章源码
class StaticExa {
static int a = 4;
static int b = 9;
static void call() {
System.out.println("a = " + a);//静态方法可以访问静态属性
}
}
public class Test {
static int c = 43;
public static void main(String args[]) {
。。。。。。。。。。。。。。。。详情网上找“马克-to-win”,参考他的网站或他的百度空间:java第2章的内容
调用静态方法或说类方法时,可以使用类名做前缀,也可以使用某一个具体的对象名;通常使用类名。
非static的方法是属于某个对象的方法,而static的方法是属于整个类的,不被任何一个对象单独拥有;
由于static方法是属于整个类的,所以它不能操纵和处理属于某个对象的成员变量,而只能处理属于整个类的成员变量,也即,static方法只能处理static域或静态方法。实例方法可以访问实例域, 静态域或静态方法, 记住都行。
声明为static的方法有以下几条限制: 1.它们仅能调用其他的static方法。
2.它们只能访问static数据。
3.它们不能以任何方式引用this或super(关键 字super与继承有关,在下一章中描述)。
static method Have No this Reference
All instance methods have a hidden parameter—this
So,
Static method can’t access instance methods and fields; it can only
invoke other static class
members.It can access class members only.
instance can use static method.
Instance methods:
If a method is declared without the static modifier keyword,
that method is known as an instance method. Instance methods
are associated with objects – not classes.
It can access either instance or class members.
本章源码
class StaticExa {
static int a = 4;
static int b = 9;
static void call() {
System.out.println("a = " + a);//静态方法可以访问静态属性
}
}
public class Test {
static int c = 43;
public static void main(String args[]) {
。。。。。。。。。。。。。。。。详情网上找“马克-to-win”,参考他的网站或他的百度空间:java第2章的内容
全部回答
- 1楼网友:三千妖杀
- 2021-02-25 08:05
任务占坑
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯