static 修饰方法

查阅资料的时候突发了对static修饰方法的思考。设计方法时在怎样的情况下会用static来修饰呢?

抛去加载和生存周期的考虑,当一个类的方法,它独立于该类的任何对象(该方法与对象的状态无关)。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。

时间: 2024-11-29 13:42:07

static 修饰方法的相关文章

java中什么时候该用static修饰方法?有什么好处或者坏处?

当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static.用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用比如 person这个类里面有一个方法public static add(){}那么可以直接用person类调用 person.add();当然也可以用下面的方法先出一个对象在调用也是可以如果这个方法前面没有static 比如 public add(){}那么先要person p=new person();然后用p.add();类加载

Java static 修饰函数

package com.fish.object; /* static(静态.修饰符) static修饰成员变量时:static修饰成员变量时,那么该成员变量的数据就是一个共享的数据. 静态成员变量的访问方式: 方式一: 使用对象进行访问.  对象.属性名 方式二:可以使用类名进行访问. 类名.属性名 注意: 1. 非静态成员变量不能类名直接访问,只能使用对象进行访问. 2. 千万不要为了方便访问成员变量而使用static修饰,一定要是该数据是共享数据 时才使用static修饰. static修饰

static修饰

1.static修饰的资源属于类级别的资源,静态的资源,对于类所有实列共享的资源 2.static关键字可以用来修饰属性.方法.代码块.内部类 a.static修饰属性: static修饰的属性属于对类所有实列共享的资源 访问静态的属性:类名.属性名(): b.static丝素方法: static修饰的方法属于静态方法,可以直接类名.方法名()进行调用,一般是把静态方法作为 工具方法静态方法中不能调用对象的资源(对象.属性.对象方法) c.static修饰代码块 在类加载的时候执行,因为类只加载

JAVA 同步之 synchronized 修饰方法

在JAVA多线程编程中,将需要并发执行的代码放在Thread类的run方法里面,然后创建多个Thread类的对象,调用start()方法,线程启动执行. 当某段代码需要互斥时,可以用 synchronized 关键字修饰,这里讨论 synchronized 关键字修饰方法时,是如何互斥的. synchronized 修饰方法时锁定的是调用该方法的对象.它并不能使调用该方法的多个对象在执行顺序上互斥. 下面举个具体的例子说明: Test.java 通过 implements Runnable 成为

static修饰符与final修饰符

■ static修饰符与final修饰符: ★ static修饰符: 1. 修饰的对象: 类中的成员(属性[静态变量或类变量]和方法[静态方法或类方法]) 2. 静态属性的特点: 1. 静态变量被所有对象共享 2. 随着类的加载而加载,随着类的消失而消失,和对象的创建无关 3. 可以直接被类名调用 3. 静态方法的特点: 1. 静态方法优先于对象存在,在静态方法中无法访问与对象相关的实例变量(这时候对象还没有创建,其属性也就没有) 2. 静态方法无法访问实例变量 3. 静态方法可以访问静态变量

static 修饰用法

如有不足,多多指导. static 可以修饰属性,方法,静态代码块 修饰属性:全类共有的属性,可以通过类名.属性获取 在创建对象的时候加载 2. 修饰代码块 static { } 3. 修饰方法 public static void m(){} 这里主要说下 加载时候的先后顺序 类加载顺序 1.父类静态属性/父类静态代码块 (书写的先后顺序) 2.子类静态属性/子类静态代码块  (书写的先后顺序) 3.父类实例属性/父类动态代码块   (书写的先后顺序) 4.父类构造方法 5.子类实例属性/子类

static修饰符

static修饰符表示静态的,可修饰字段.方法.内部类,其修饰的成员属于类,也就是说static修饰的资源属于类级别,而不是对象级别. static的正真作用:用来区别字段,方法,内部类,初始化代码块是属于对象还是属于类本身. static修饰符的特点: 1. static修饰符的成员(字段/方法),随着所在类的加载而加载. 当JVM把字节码加载进JVM的时候,static修饰符的成员就已经在内存中了. 2. 优先于对象的存在 对象是我们手动通过new关键字创建出来的. 3. static修饰符

static修饰符详解

static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享. 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们.因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象. 用public修饰的static成员变量和成员方法本质是

synchronized修饰方法和对象的区别

使用synchronized(object) { 代码块.... } 能对代码块进行加锁,不允许其他线程访问,其的作用原理是:在object内有一个变量,当有线程进入时,判断是否为0,如果为0,表示可进入执行该段代码,同时将该变量设置为1,这时其他线程就不能进入:当执行完这段代码时,再将变量设置为0. 想保证代码块在任务情况下都同步,即代码块在程序的中同一时刻只被一个线程调用,即需要使用synchronized( static object). object必须是静态变量,否则不同对象调用该方法