问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA:在类中前面有static的方法叫静态方法,没有的叫实例方法??

发布网友 发布时间:2022-04-07 15:20

我来回答

3个回答

热心网友 时间:2022-04-07 16:50

静态方法和实例方法的区别主要体现在两个方面:

在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。

静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此*。

下面几个例子展示了这一区别。

1、调用静态方法示例。

//-----------文件名hasStaticMethod.java,程序编号1-----------------public class hasStaticMethod{//定义一个静态方法public static void callMe(){System.out.println("This is a static method.");}}

下面这个程序使用两种形式来调用静态方法。
//-----------文件名invokeStaticMethod.java,2-----------------public class invokeStaticMethod{public static void main(String args[]){hasStaticMethod.callMe(); //不创建对象,直接调用静态方法 hasStaticMethod oa = new hasStaticMethod(); //创建一个对象oa.callMe(); //利用对象来调用静态方法}}
程序3.36两次调用静态方法,都是允许的,程序的输出如下:
This is a static method.This is a static method.

允许不创建对象而调用静态方法,是Java为了减少程序员调用某些常用方法时的麻烦,而允许程序员按照传统的C语言中使用函数的方式来使用方法。典型的例子是前面某些程序中使用"Math.ramdon()"来获取随机数。

2、静态方法访问成员变量示例。

//-----------文件名accessMember.java,程序编号3.37-----------------class accessMember{private static int sa; //定义一个静态成员变量private int ia; //定义一个实例成员变量//下面定义一个静态方法static void statMethod(){int i = 0; //正确,可以有自己的局部变量sa = 10; //正确,静态方法可以使用静态变量otherStat(); //正确,可以调用静态方法ia = 20; //错误,不能使用实例变量insMethod(); //错误,不能调用实例方法}static void otherStat(){} //下面定义一个实例方法 void insMethod(){int i = 0; //正确,可以有自己的局部变量sa = 15; //正确,可以使用静态变量ia = 30; //正确,可以使用实例变量statMethod(); //正确,可以调用静态方法}}

本例其实可以概括成一句话:静态方法只能访问静态成员,实例方法可以访问静态和实例成员。之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,并不一定存在对象。同样,因为实例方法可以访问实例成员变量,如果允许静态方法调用实例方法,将间接地允许它使用实例成员变量,所以它也不能调用实例方法。基于同样的道理,静态方法中也不能使用关键字this。

main()方法是一个典型的静态方法,它同样遵循一般静态方法的规则,所以它可以由系统在创建对象之前就调用。下面这个程序有个错误,请读者仔细查看。

public class hasError{int insVar = 100;public static void main(String args[]){System.out.println("insVar = " + insVar);}}

热心网友 时间:2022-04-07 18:08

....米有,只有构造方法,或者获得实例的方法:public static getInstand();

热心网友 时间:2022-04-07 19:42

You are right.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 黑龙江债权转让合同纠纷该怎样取证 安徽债权转让合同纠纷应该怎么样取证 房产官司律师费多少 HONOR 20 PRO手机可以用66w快充给手机充电么? 为什么说商业银行的盈利性不仅反映了商业银行现行战略与否,还是商业银行进一 什么银行利润最高 台球中的水晶球卖多少钱一套 关于雅乐美台球的鉴别、价格、尺寸等相关内容 水晶柱,和水晶球有什么区别,或者差别 水晶球`和玻璃球有什么区别?区别在那里?? 水晶球和玻璃球有什么区别? 台球的水晶球是不是比普通球更好的表现出干法的效果? 雅乐美tv球和高档水晶球哪种好 台球分水晶球和什么球麻烦告诉我 水晶台球和普通台球的区别? 台球水晶球怎么区分 台球 水晶球与普通球的区别? 台球子tv球与水晶球区别 刑事拘留与行政拘留有什么区别? 手机被盗,对方通过扫描二维码支付我微信的钱,交易明细哪里被删了,只剩下交易单号,怎么查看对方是谁? 工行与工行转账怎么收手续费 想开一家床上用品店,具体的流程是什么?需要做哪些准备? 永康一条街都是做被子、四件套、床上用品批发的,在哪个地方啊?武义开车的话要怎么走啊?谢谢啊 你好,笔记本开机后黑屏,但是鼠标能动是怎么回事,怎么解决。谢谢 想要网上开店卖东西,有没有平台推荐呀? 求Adobe Premiere Pro 7的下载地址 大家都怎么在网上卖东西啊? 网上卖东西哪个平台好 求adobe premiere pro cs5的迅雷下载地址 佛山照明分红的问题 佛山照明zo16年什么时候分红 哪支股票历年来分红配送比较多 佛山照明2011年度分红,股权登记日是哪一天 佛山照明股票问题 佛山照明(000541):10转增3股派5元 什么意思?如何行权 请推荐一到二只年分红派利较多的股票。 佛山照明股市分红我怎么查不到资金帐 历年来分红最多的股票是那些呢 佛山照明要分红了,每10股送3元,后市发展会走好吗?请高手指点! 2020年佛山照明什么时间持股可以分红? 冰箱需要添加氟利昂等什么东西吗 冰箱冷藏室的冰霜和水能费多少电不除掉对冰箱有影响吗多久除一次冰霜? ²⁰¹⁷这个符号怎么打,求大神 现在电冰箱和空调还用氟利昂吗 ?