精华内容
下载资源
问答
  • java静态方法

    千次阅读 2015-09-05 16:09:23
    Java静态方法 一.什么是静态方法?  静态方法是使用公共内存空间的,所有对象都可以直接引用,不需要创建对象使用此方法。 二.静态方法与实例方法的区别?  1.在外部调用静态方法时,可以使用"类名.方法名"的方式...
    Java静态方法
    一.什么是静态方法?
         静态方法是使用公共内存空间的,所有对象都可以直接引用,不需要创建对象使用此方法。

    二.静态方法与实例方法的区别?
         1.在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式;而实例方法只有后面的这种方式。也就是说,调用静态方法可以无需创建对象。
          2.静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。

    三.实例
          1.调用静态方法实例:
             
    package classicsfunction;
    
    public class HasStaticMethod {
    	//定义一个静态方法
    	public static void callMe(){
    		System.out.println("This is a static method.");
    	}
    
    }
       2.用两种方式调用静态方法
         <pre name="code" class="java">package classicsfunction;
    
    public class InvokeStaticMethod {
    	public static void main(String[] args) {
    		HasStaticMethod.callMe();           //不创建对象,直接调用静态方法
    		
    		HasStaticMethod hsm = new HasStaticMethod();//创建一个对象
    		hsm.callMe();                               //利用对象来调用静态方法
    
    	}
    
    }
    
    </pre><pre name="code" class="java">    控制台结果:
        <pre name="code" class="java">This is a static method.
    This is a static method.

    
    
    
    

    展开全文
  • java 静态方法和实例方法的区别

    千次阅读 2017-12-16 17:59:01
    java 静态方法和实例方法的区别 转自  java 静态方法和实例方法的区别 静态方法和实例方法的区别主要体现在两个方面:   在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象...

    java 静态方法和实例方法的区别

    转自 

    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()方法是一个典型的静态方法,它同样遵循一般静态方法的规则,所以它可以由系统在创建对象之前就调用
    何事都只需坚持.. 难? 维熟尔。 LZL的自学历程...只需坚持
    标签: java静态
    1
    0
    « 上一篇:java9-2形式参数
    » 下一篇:java9-3 返回类型
    posted @ 2016-09-11 11:38 卡拉瓦 阅读(5502) 评论(0
    展开全文
  • Java静态方法调用非静态方法

    千次阅读 2018-09-19 20:23:42
    静态方法(static mehod)不能直接调用非静态方法(non-static method),可以通过一个对象的引用传入静态方法中,再去调用该对象的非静态方法。在主函数(static方法)中,经常创建某个类的实例,再利用其引用变量调用他...

    静态方法(static mehod)不能直接调用非静态方法(non-static method),可以通过一个对象的引用传入静态方法中,再去调用该对象的非静态方法。在主函数(static方法)中,经常创建某个类的实例,再利用其引用变量调用他的非静态方法。

    public class staticMethodTest {
    	void nonStaticMethod() {
    		System.out.println("This is a non static method");
    	}
    	static void staticMethod(staticMethodTest s) {
    		System.out.println("This is a static method");
    		s.nonStaticMethod();
    	}
    	public static void main(String[] args) {
    		staticMethodTest obj=new staticMethodTest();
    		staticMethod(obj);
    	}
    }
    
    

    在类中创建一个非静态方法,该方法输出一个九九乘法表

    package work1;
    import java.util.*;
    public class mul {
    	void mulTable()
    	{
    		int i=1;
    		while(i<=9) {
    			int j=1;
    			while(j<=i) {
    				System.out.print(j+"*"+i+"="+i*j+" ");
    				j++;
    			}
    			System.out.println();
    			i++;
    		}
    	}
    	static void print(mul s) {
    		s.mulTable();
    	}
    	public static void main(String[] args) {
    		mul obj = new mul();
    		print(obj);
    	}
    }
    

     

    展开全文
  • Java 静态方法与非静态方法的调用

    千次阅读 2019-05-28 17:35:41
    调用静态方法 一般格式如下 类名.方法() //应为静态方法属于类本身,在同一个类中可以直接 调用 方法() 调用非静态方法 格式 对象名.方法() 一个小demo 方便理解 package me; public class Book { public void...

     

     调用静态方法 一般格式如下

    类名.方法() //应为静态方法属于类本身,在同一个类中可以直接 调用 方法()

     调用非静态方法 格式

    对象名.方法()

    一个小demo 方便理解

    package me;
    public class Book {
        public void info() { //定义一个方法
            String name = "英语"; //局部变量
            System.out.println(name);
        }
    
        public static void me(){
            String name = "数学";
            System.out.println(name);
        }
        public static void main(String[] args) {
            Book book = new Book();
            book.info(); //非静态方法调用  对象名.方法()
    
            Book.me(); //静态方法调用 类名.方法()
    //        me(); //当然可以直接使用 因为静态是Book类共享的
        }
    }
    

     

    展开全文
  • Java静态方法的同步锁

    2015-10-20 14:19:39
    Java静态方法的同步锁必须是字节码class吗?可以是static对象吗?
  • Java静态方法(类方法)的继承

    千次阅读 2018-01-29 19:55:52
    Java静态方法、静态变量是可以被继承的 背景:最近因为个人工作的原因,转战到Java领域。在学习过程中发现,网上有关Java静态继承,都说不能继承,且子类静态方法重写说成是隐藏了父类方法云云的。 下面我来...
  • Java静态方法和实例方法 java中的数组作为形参传入 Java虚拟机 启动一个Java程序的时候,会诞生一个虚拟机实例,当程序关闭退出时,该实例会消失。 如果一个机器上运行着三个Java程序,即有三个Java虚拟机实例 Java...
  • JAVA静态方法中只能调用静态成员。 main方法是静态方法,如果想调用其它的方法,只能是其它的静态方法。 public class Test{ public static void main(String[] args) { fangFa(100,100); //这里直接调用...
  • java静态方法之线程安全问题

    千次阅读 2017-11-19 19:54:39
    java静态方法之线程安全问题 静态方法和实例方法的区别是静态方法只能引用静态变量,静态方法通过类名来调用,实例方法通过对象实例来调用 每个线程都有自己的线程栈,栈与线程同时创建,每一个虚拟机线程都有自己...
  • 静态方法与成员方法 定义方法的时候,有static和没有static有什么区别? 1.有static的方法,叫静态方法。 2.没有static的方法,叫成员方法(实例方法)。 定义静态方法的格式: public static 返回值类型 方法名称...
  • Java静态方法与非静态方法的泛型

    千次阅读 2019-06-03 16:01:32
    Java中,非静态方法可以使用类的泛型,也可以定义自己的泛型;静态方法由于随着类的加载而加载,不能访问类的泛型(因为在创建对象的时候才确定),因此必须定义自己的泛型类型。 详细请参考:...
  • Java静态方法和静态属性

    千次阅读 2018-08-14 16:10:16
    3、被static修饰的方法中,只能调用静态方法或静态属性,不能调用非静态方法和非静态属性 被static修饰的属性称为静态属性,也称为类属性,这个属性是从属类的,而不是对象的 被static修饰的方法称为静态方法,也...
  • Android Stuido Ndk-Jni 开发(五):Jni回调java静态方法和非静态方法
  • java静态方法,静态属性

    千次阅读 2017-01-27 13:04:25
    静态方法,静态属性,都是不需要创建实例对象就可以调用,而且是单例的,不管创建多少个对象,都是共享一个 静态属性。 静态方法不可以调用非静态的变量,只可以调用静态的属性。 静态方法不可以调用非静态的方法...
  • 静态方法在创建对象前就可以使用了,非静态方法必须通过new出来的对象调用。 如: public class Per{ public static String getType(){ return "人类"; } public String getName(){ return "张三"; } } 上面这个类中...
  • 静态方法是属于类的,即静态方法是随着类的加载而加载的,在加载类时,程序就会为静态方法分配内存,而非静态方法是属于对象的,对象是在类加载之后创建的,也就是说静态方法先于对象存在,当你创建一个对象时,程序...
  • java 静态方法的重载

    千次阅读 2011-08-10 18:43:21
    java 静态方法的重载 如果一个static方法被调用了,JVM 不会检查什么类型正在指向它,它只会调用跟这个引用相关联的方法的实例。  public class Super {  public static void amethod() {
  • java静态方法的作用

    千次阅读 2018-04-30 01:53:33
    静态方法,系统会为静态方法分配一个固定的内存空间。而普通方法,会随着对象的调用而加载,当使用完毕,会自动释放掉空间。普通方法的好处是,动态规划了内存空间的使用,节省内存资源。静态方法,方便,运行快,而...
  • java静态方法调用

    千次阅读 2018-08-25 09:30:20
    Calendar 是抽象类 静态方法调用:类名.方法() Calendar.Year和cal.Year均可以,但是输出结果为1,需要在前面加上cal.get()
  • java静态方法中读取某个配置文件中的配置 注意: application-dev.yml 配置文件名称 accout 配置文件中配置项key public static void main(String[] args) throws IOException { Properties props = new Properties...
  • java静态方法使用泛型

    万次阅读 2018-07-23 15:13:57
    import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.List; public class StaticMethod { public static void main(String[] args) { System....
  • java静态方法不能多态也不能够重写

    千次阅读 2015-04-06 10:35:04
    java静态方法不能多态也不能够重写   JAVA静态方法形式上可以重写,但从本质上来说不是JAVA的重写。因为静态方法只与类相关,不与具体实现相关,声明的是什么类,则引用相应类的静态方法(本来静态无需...
  • 这里介绍下在类似 Spring+FreeMarker 的架构中如何在FreeMarker中访问Java中的静态方法以及静态变量。 一、首先为了方便以及可复用我们创建一个工具类 /** * FreeMarker Utils. * * @author chenxinyu */ ...
  • java 静态方法多线程

    2019-12-29 10:08:06
    2、同类的静态方法,本身是异步的。 3、同一类的多个synchronized static方法,共用一个锁,即synchronized修修饰的多个方法中,有任意一个在执行,所有synchronized方法都不能进入。 ThreadDemo代码: public class...
  • 调用非静态方法首先就是调用的静态方法得到要调用的java的类对象然后通过调用 minfo.env->CallVoidMethod(activityObj, minfo.methodID);方法把对象和要调用的方法以及参数(如果有 )传递个java类对象中的非...
  • 静态方法(不带static)可以访问静态方法(带static),但是反过来就不行,为什么呢? ?public class test{  public void static main(String args[]){  method(); //会出错,提示你讲method方法...
  • Java静态方法的注意事项

    千次阅读 2018-08-28 16:09:14
    1.静态方法只能访问静态成员(包括成员变量和成员方法)  非静态方法可以访问静态也可以访问非静态  2.静态方法中不可以定义this,super关键字  因为 一个类中,一个static变量只会有一个内存空间,虽然有多个类...
  • 创建java静态方法 package demo;import java.util.Map;/** * Created by Administrator on 2016/3/6. */ public class Demo { public static String demo(){ String str = "11111111111"; return str;
  • Java 静态方法和实例化方法的区别

    千次阅读 2016-05-23 16:14:22
    语法区别关于静态方法和实例化方法的语法及使用区别在网上到处都可以找到,就不在这里赘述了。相关知识点 通常认为,静态方法常驻内存,效率高但占内存。实则,静态方法和实例化方法在加载时机和占用内存一样,都是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,117
精华内容 24,846
关键字:

java静态方法

java 订阅