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

在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。
静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。
下面几个例子展示了这一区别。
1、调用静态方法示例
//-----------hasStaticMethod.java-----------------
public class hasStaticMethod{
//定义一个静态方法
public static void callMe(){
System.out.println("This is a static method.");
}
}
下面这个程序使用两种形式来调用静态方法。
//-----------invokeStaticMethod.java-----------------
public class invokeStaticMethod{
public static void main(String args[]){
hasStaticMethod.callMe(); //不创建对象,直接调用静态方法
hasStaticMethod oa = new hasStaticMethod(); //创建一个对象
oa.callMe(); //利用对象来调用静态方法
}
}
程序两次调用静态方法,都是允许的,程序的输出如下:
This is a static method.This is a static method.
允许不创建对象而调用静态方法,是Java为了减少程序员调用某些常用方法时的麻烦,而允许程序员按照传统的C语言中使用函数的方式来使用方法。典型的例子是前面某些程序中使用"Math.ramdon()"来获取随机数。
还有一个很典型的代表就是数组的处理工具Arrays
2、静态方法访问成员变量示例
//-----------accessMember.java-----------------
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()方法是一个典型的静态方法,它同样遵循一般静态方法的规则,所以它可以由系统在创建对象之前就调用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Java
# 静态方法
# 实例方法
# java compare compareTo方法区别详解
# java虚拟机jvm方法区实例讲解
# Java构造器(构造方法)与方法区别说明
# java中timer的schedule和scheduleAtFixedRate方法区别详解
# java创建线程的两种方法区别
# 详谈java 堆区、方法区和栈区
# 关于java方法区详解
# 可以使用
# 自己的
# 都是
# 是一个
# 几个
# 这一
# 是因为
# 随机数
# 两种
# 两次
# 本类
# 而不
# 还有一个
# 它可以
# 中也
# 句话
# 体现在
# 它也
# 前就
# 创建一个
相关文章:
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
建站之星云端配置指南:模板选择与SEO优化一键生成
广州商城建站系统开发成本与周期如何控制?
网站插件制作软件免费下载,网页视频怎么下到本地插件?
详解jQuery停止动画——stop()方法的使用
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
如何通过智能用户系统一键生成高效建站方案?
怀化网站制作公司,怀化新生儿上户网上办理流程?
如何基于云服务器快速搭建网站及云盘系统?
如何挑选优质建站一级代理提升网站排名?
子杰智能建站系统|零代码开发与AI生成SEO优化指南
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
兔展官网 在线制作,怎样制作微信请帖?
教学网站制作软件,学习*后期制作的网站有哪些?
*服务器网站为何频现安全漏洞?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
盐城做公司网站,江苏电子版退休证办理流程?
如何选择高效稳定的ISP建站解决方案?
如何选择高效便捷的WAP商城建站系统?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
如何高效生成建站之星成品网站源码?
专业公司网站制作公司,用什么语言做企业网站比较好?
广平建站公司哪家专业可靠?如何选择?
太原网站制作公司有哪些,网约车营运证查询官网?
如何快速生成高效建站系统源代码?
建站之星如何保障用户数据免受黑客入侵?
jQuery 常见小例汇总
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
如何通过云梦建站系统实现SEO快速优化?
香港服务器如何优化才能显著提升网站加载速度?
网站制作免费,什么网站能看正片电影?
建站主机SSH密钥生成步骤及常见问题解答?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
制作销售网站教学视频,销售网站有哪些?
常州企业网站制作公司,全国继续教育网怎么登录?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
如何在Windows 2008云服务器安全搭建网站?
攀枝花网站建设,攀枝花营业执照网上怎么年审?
如何正确下载安装西数主机建站助手?
宝塔面板如何快速创建新站点?
手机网站制作与建设方案,手机网站如何建设?
建站主机与服务器功能差异如何区分?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
全景视频制作网站有哪些,全景图怎么做成网页?
长沙企业网站制作哪家好,长沙水业集团官方网站?
江苏网站制作公司有哪些,江苏书法考级官方网站?
电商平台网站制作流程,电商网站如何制作?
如何配置IIS站点权限与局域网访问?
建站OpenVZ教程与优化策略:配置指南与性能提升
如何在IIS7中新建站点?详细步骤解析
*请认真填写需求信息,我们会在24小时内与您取得联系。