全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java静态方法和实例方法区别详解

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

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

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

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

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小时内与您取得联系。