java中静态和非静态的区别,java 非静态方法

  java中静态和非静态的区别,java 非静态方法

  如何解决写爬虫IP受阻的问题?立即使用。

  本教程运行环境:windows7系统,java8版本8,DELL G3电脑。

  一、静态方法和非静态方法的区别(调用对象、引用变量不同)

  静态方法:它是用Static关键字修饰的方法,也称为类方法。它属于类,但不属于对象。在实例化对象之前,可以通过类名和方法名调用静态方法。(静态属性和静态方法属于类,可以通过类名直接调用)。

  A.在静态方法中,可以调用静态方法。

  B.在静态方法中,不能调用非静态方法。

  C.在静态方法中,可以引用类变量(即静态修饰变量)。

  D.在静态方法中,不能引用成员变量(即没有静态修饰的变量)。

  E.在静态方法中,不能使用super和this关键字。

  非静态方法:是一种没有静态关键字修饰的常用方法,也称为实例方法和成员方法。属于对象,不属于类。(成员属性,成员方法属于对象,对象必须由new关键字创建,才能被对象调用)。

  A.在普通方法中,可以调用普通方法。

  B.在普通方法中,可以调用静态方法。

  C.在普通方法中,可以引用类变量和成员变量。

  D.在普通方法中,可以使用super和this关键字。

  二、静态方法和非静态方法的区别(调用方法不同)

  静态方法可以直接调用,类名调用和对象调用。(类名。方法名/对象名。方法名称)

  但是非静态方法只能通过对象调用。(对象名。方法名称)

  三、静态方法和非静态方法的区别(生命周期不同)

  静态方法的生命周期和对应的类一样长,静态方法和变量会随着类的定义被分配和加载到内存中。直到线程结束,静态属性和方法才会被销毁。(也就是说,静态方法属于类)

  非静态方法的生命周期与类的实例化对象一样长。只有当一个类实例化一个对象时,才会创建非静态方法,而当这个对象被销毁时,非静态方法也会立即被销毁。(也就是说,非静态方法属于对象)

  总结:类方法可以通过类名直接调用,实例方法必须先实例化类,再初始化对象,然后才能被类的实例对象调用。

  示例:

  XYZ级

  public static void main(String[]str){

  XYZ . test static();//直接通过类调用

  XYZ a=新XYZ();//实例化,然后初始化构造函数

  a . test method();//对象调用方法

  }

  公共静态void testStatic(){

  System.out.println(这是静态方法);

  }

  公共void testMethod(){

  System.out.println(这是实例方法);

  }

  }静态变量/方法是在类加载时初始化的,内存中只存在一个副本,所以可以视为全局变量/方法。

  相关视频教程推荐:java视频教程以上是Java静态方法和非静态方法区别的细节。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: