static(静态) 当创建一个类有以下代码: static String room; 一旦使用了关键字static,那么这样的内容不再属于对象自己,而属于所在的类; 当所在类被new出来之后,它不再需要用对象去....出来; 调用: 类名.room;//使用这个内容直接用所在类.出来 例如: public class Test{ public static void main(String[] arge){...//Student stu=new Student(); System.out.println(Student.room); } } public class Student{ static...如果没有static关键字,那么必须创建对象,然后通过对象才能使用; 如果有了static关键字,那么不需要创建对象,直接通过类名称来使用。...(); } } public class Student{ static{ //静态代码块内容 System.out.println("静态代码块输出"); } } 以上代码输出结果
详细内容 java static变量可以赋值吗? 可以赋值的。static的主要作用是静态成员,指该变量的实例在内存中之存放一次。赋值是可以随便改的。...java中static关键字 static是java中非常重要的一个关键字,主要有两种作用: ● 第一:为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。...● 第二:实现某个方法或属性与类而不是对象关联在一起 简单来说,在Java语言中,static主要有5中使用情况:成员变量、成员方法、代码块,内部类和静态导包。...4、static修饰内部类:static不能修饰普通类,只能修饰内部类,被static修饰的内部类的创建方式: new OuterClass.InnerClass()。...5、static导入包:语法“import static java.lang.Math.*”,这样在类中就可以直接使用Math类中的静态方法而不需要写类名,个人认为,在频繁使用某个类的时候比较方便,但是降低了可读性
本文采用Java并发包中的工具实现了一个工具TPS性能测试。主要是测试OKHttp库来执行Http请求的性能。...测试代码用到了Java了线程池ExecuterService,CountDownLatch, CyclicBarrier, 原子类,volatile关键词等。可算是对Java并发组件的组合使用。...TPS 实现源码 package cn.concurrent; import java.math.RoundingMode; import java.util.concurrent.*; import...java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; import util.OkHttpUtil...throws Exception; } /** * 具体Job,模拟完成一次Http请求 BTW:内部类用static修饰 */ static class JobDetail implements Job
1 static 静态变量 1.1 静态变量的使用 static变量也称作静态变量,也叫做类变量 静态变量被所有的对象所共享,在内存中只有一个副本 当且仅当在类初次加载时会被初始化 静态变量属于类 通过类名就可以直接调用静态变量...也可以通过对象名.静态变量名调用 static 变量 public class Student{ private String name; private static String...schoolName; private static int count; public Student(String name){ this.name = name;...匿名构造块 构造方法 匿名构造块 构造方法 匿名构造块 构造方法 执行的顺序为:静态块 --> 匿名块 --> 构造方法 4 静态引入 如果我们需要频繁引用某一个类下的方法,比如 java.lang.Math...import static java.lang.Math.random; import static org.junit.Assert.assertTrue; public class test {
Static #Static 定义的变量 其调用: 类名.变量名 所有同一个类的类成员共享,共用一个; 其值可以修改 不能将方法体内的局部变量声明为static #Static 定义的方法 其调用...: 类名.方法 如 Math.pow 所有同一个类的类成员共享,共用一个; 其值可以修改 静态方法不能向对象实施操作,静态方法中不可以使用this关键字; 不能访问类中实例域(非static域 / 变量...static int getNextId() { return nextId; } } 被static定义的静态域独立于Java 的堆栈,独占一个存储空间; static的方法在装载...class得时候往往首先完成,比构造方法早,此时非static得属性和方法还没有完成初始化。...#Static 定义的类中程序块 如 public class example{ static{ //some } } 在该段代码被执行时,首先执行static中的程序,并且只会执行一次
public class TestStatic { int id; String name; String pwd; static String company...login(){ PrintCompany(); System.out.println("company"); System.out.println("登陆:"+name); } public static...void PrintCompany(){ //login(); //调用非静态成员变量,编译就会报错 System.out.println(company); } public static void
like java"); } public static void main(String[] args) { //通过类名调用静态方法 StaticMethod.print();...i like java 2、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。...static void print(){ System.out.println("i like java"); } public void printOne(){ System.out.println...("i like java"); } public static void show(){ //静态方法中直接调用静态方法,通过类名访问 StaticMethod.print();...public static void print(){ System.out.println("i like java"); } public void input(){
在进入static之前,先补一下关于类的脑。...3、 静态块(static{}) (1) static关键字还有一个比较关键的作用,用来形成静态代码块(static{}(即static块))以优化程序性能。...(2) static块可以置于类中的任何地方,类中可以有多个static块。 (3) 在类初次被加载的时候执行且仅会被执行一次(这是优化性能的原因!!!)...,会按照static块的顺序来执行每个static块,一般用来初始化静态变量和调用静态方法。 下面通过两段代码,说明 static{} 为什么能优化程序性能。...static还有一个不常用的用途,叫做 static静态导包 。有兴趣的朋友可以去了解一下。
java中的static关键字和静态成员 在java中声明类的成员变量和成员方法时,可以使用static关键字把成员声明为静态成员。...UseBook{ String name; float price; int count=0; //实例变量,记录创建对象的个数 static...\t"); prt("bookNumber: " + bookNumber + "\t" + "count: " + count + "\t") ; } public static...UseBook b1,b2,b3; b1=new UseBook("java2",36.0f); b1.output(); b2=new UseBook...output(); b3=new UseBook("vb",20.0f); b3.output(); } } 结果如下所示: name: java2
Java final 与 static final 数据 声明数据为常量,可以是编译时常量,也可以是在运行时被初始化后不能被改变的常量。...public class A { private int x; // 实例变量 private static int y; // 静态变量 public static...public abstract class A { public static void func1(){ } // public abstract static void func2...public class A { private static int x; private int y; public static void func1(){...int a = x; // int b = y; // Non-static field 'y' cannot be referenced from a static context
static方法: 1、定义: 《java编程思想》中提到:static方法就是没有this的方法,在static方法内部不能调用非静态方法,反过来是可以的,而且可以在没有创建任何对象的情况下,仅仅通过类本身来调用...static方法,这实际上正是static方法的用途 2:概念: static方法一般称作静态方法,由于静态方法不依赖于对象就可以访问,所以也就没有this,并且static修饰的方法不能调用非静态成员变量和非静态成员方法...static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。...类中的static: 1)子类是不继承父类的static变量和方法的。因为这是属于类本身的。 但是子类是可以访问的。...{ System.out.println("Static Block B."); } } 运行结果: Static Block A.
java访问权限控制 文章目录 java中static的用法 static修饰成员变量 类的成员变量 static修饰方法 static修饰代码块 java中static的用法 在java中static...可以用来修饰以下内容: 成员变量 静态变量,可以直接通过类名去访问 成员方法 静态方法,可以直接通过类名去访问 代码块 静态代码块,当java虚拟机加载类时,就会执行该代码块 static...可以通过类名调用静态方法 Person04.m3(); // Math.random(); // Arrays.sort(); // Arrays.binarySearch(); } } 其实java...程序的入口main()方法就是最常用的静态方法 public static void main(String [] args){ } static修饰代码块 静态代码块,当java虚拟机加载类时...= new Static01(); System.out.println(Static01.num); } } java面向对象之二 继承 发布者:全栈程序员栈长,转载请注明出处
Demo.i=10 test method: i=10 静态导入 静态导入是 Java 5 的新增特性,用来导入类的静态变量和静态方法。...静态导入的好处是可以简化一些操作,例如输出语句 System.out.println(); 中的 out 就是 System 类的静态变量,可以通过 import static java.lang.System...请看下面的代码: import static java.lang.System.*; import static java.lang.Math.random; public class Demo { public...静态导入的好处是可以简化一些操作,例如输出语句 System.out.println(); 中的 out 就是 System 类的静态变量,可以通过 import static java.lang.System...请看下面的代码: import static java.lang.System.*; import static java.lang.Math.random; public class Demo { public
static关键字的用途: ① 修饰变量或方法 一句话解释就是“方便在没有创建对象的情况下来进行调用(方法/变量)”。...如: static String room; 调用方式: 类名.room; ② 声明静态代码块 static关键字还可以用来声明静态代码块,静态代码块只有在类被初始化时会被执行一次,之后就不会再执行。...因此,很多时候会将一些只需要进行一次的初始化操作都放在static代码块中进行。...static关键字的误区 ① Java中的static关键字不会影响到变量或者方法的作用域,在Java中能够影响到访问权限的只有private、public、protected(包括包访问权限)这几个关键字...③ 在Java中static关键字不允许作用于局部变量。
static是java的修饰符 作用范围: 可以修饰变量、方法、代码块、导包 static修饰 方法:不能访问静态的变量和方法,可也被所用方法共享,涉及到其他的修饰词了。...static修饰 变量:变量就变成静态变量,可也被所有对象共享 static修饰 代码块:提升类初始化加载的顺序,先加载静态代码块、加载构造代码、加载构造函数,并且只加载一次 static修饰导包:可也直接使用类直接调用方法...具体实例 static 修饰的代码块,只加载一次 hello 只会打印一次在控制台 image.png 特殊说明: 解决问题的光鲜,藏着磕Bug的痛苦。 万物皆入轮回,谁也躲不掉!
static 当声明一个方法或变量为使用static关键字时,就意味这这个域或方法不会与包含它的那个类的任何对象实例关联在一起。...所以,即使从未创建某个类的任何对象,也可以调用其static方法或访问其static域 class StaticTest{ static int i = 47; } 访问StaticTest类中i
static:静态的,static可以用来修饰:属性、方法、代码块、内部类 1.使用static修饰属性:静态变量(或类变量) 属性,按是否使用static修饰,又分为:静态属性 vs 非静态属性...static修饰属性的其他说明: ① 静态变量随着类的加载而加载。可以通过"类.静态变量"的方式进行调用 ② 静态变量的加载要早于对象的创建。 ...实际开发中,如何确定一个属性是否要声明为static的? > 属性是可以被多个对象所共享的,不会随着对象的不同而不同的。 ...> 类中的常量也常常声明为static 开发中,如何确定一个方法是否要声明为static的? ...> 操作静态属性的方法,通常设置为static的 > 工具类中的方法,习惯上声明为static的。 比如:Math、Arrays、Collections
比如和数学相关的静态资源放在java.lang.Math中,和日历相关的静态资源放在java.util.Calendar中,这样就很清晰了 2、避免重名。...举个例子来看一下: import static java.lang.Math.*; public class A { public static void main(String[] args) {...注意一下,要写import static java.lang.Math.....*”不可少,有了这两个字符才意味着导入的是Math下的所有静态资源,写成import static java.lang.Math是有问题的。...知识点: 1、Java中的static关键字不会影响到变量的变量或者方法的作用域。 2、虽然对于静态方法来说没有this,但是我们在非静态方法中能够通过this访问静态方法成员变量。
Java当中static和非static变量的区别 static 修饰的变量称为类变量或全局变量或成员变量,在类被加载的时候成员变量即被初始化,与类关联,只要类存在,static变量就存在。...static修饰的变量在加载的时候先于main方法加载在内存中的数据共享区-------方法区,而非static的变量在加载的时候,是要创建变量才加载在堆内存中的。...一个static变量单独划分一块存储空间,不与具体的对象绑定在一起,该存储空间被类的各个对象所共享。static变量值在方法区加载一次,而非static在创建对象时会加载很多次。...static方法和非static方法的区别 static修饰的方法也和static一样。先于main方法被加载到方法区,以便共享使用。...static方法可以用对象.方法名来调用,也可以用类名.方法名来调用。而非静态的方法只能创建对象后时调用。 static方法是加载一次,被所有的对象所共享。
测试环境: Microsoft Windows [版本 10.0.17134.165] java -version java version "1.8.0_171" Java(TM) SE Runtime...: import java.io.IOException; public class Main { private static String name = "lgh"; private...static int age = 26; public int fun() { try { System.out.println(name);...catch (IOException e) { e.printStackTrace(); } return 0; } public static...0x000000001270af80 // 21 "lgh" 的引用 0x0000000012709e70: 0x000000000000001a // 22 "26" 的 16 进制表示 可以看到 static
领取专属 10元无门槛券
手把手带您无忧上云