精华内容
下载资源
问答
  • Java静态常量

    千次阅读 2014-05-06 10:54:35
    public class StaticFinal { public static final int A = 8; public static final Object O = new...如果变量A只是静态的而不是常量,那么在MyTest中打印出A时,也会初始化StaticFinal类。
    public class StaticFinal {
        public static final int A = 8;
    
        public static final Object O = new Object();
    
        static {
            System.out.println("如果执行了,证明类初始化了");
        }
    }
    
    class MyTest {
        public static void main(String[] args) {
            System.out.println(StaticFinal.A);
        }
    }

    执行上面的代码,会只打印出8,证明StaticFinal类没有被初始化(类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段)。

    System.out.println(StaticFinal.A);
    
    修改为

    System.out.println(StaticFinal.O);
    会打印出:

    如果执行了,证明类初始化了
    java.lang.Object@102799c

    证明StaticFinal类被初始化了

    如果变量A只是静态的而不是常量,那么在MyTest中打印出A时,也会初始化StaticFinal类。




    展开全文
  • jsp中调用java静态常量

    千次阅读 2018-11-06 11:12:04
    1. 在普通的jsp代码中嵌入java静态常量 1.1 在页面开头引入该静态常量所在的类: <%@page import="com.XXX.XXXX"%> 1.2 在HTML片段中使用该静态常量: <option value="&...

    1. 在普通的jsp代码中嵌入java静态常量

    1.1 在页面开头引入该静态常量所在的类: <%@page import="com.XXX.XXXX"%>

    1.2 在HTML片段中使用该静态常量:  <option value="<%=Code.TYPE_0%>">否</option>

     

    2. 在struts2的s标签中调用java静态常量(s标签不支持<%=%>的写法)

    直接在使用的地方用@com.xxx.xxxx类名@变量名方式: 

       <s:if test="#request.map.type==@com.XXX.XXXX@TYPE_0">

     

    展开全文
  • Java静态变量、静态常量、静态方法

    万次阅读 2016-11-17 17:24:17
    Java静态变量、静态常量、静态方法  静态变量和静态方法都属于静态对象。在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态...

    Java静态变量、静态常量、静态方法

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

    1、Java静态对象和非静态对象的区别

                                            静态对象                                                       非静态对象     
    拥有属性:               是类共同拥有的                                            是类各对象独立拥有的
    内存分配:              内存空间上是固定的                                      空间在各个附属类里面分配 
    分配顺序:              先分配静态对象的空间                    继而再对非静态对象分配空间,也就是        初始化顺序是先静态再非静态。

    2、Java静态对象的特点

    A,静态对象的数据在全局是唯一的,一改都改。如果你想要处理的东西是整个程序中唯一的,弄成静态是个好方法。非静态的东西你修改以后只是修改了他自己的数据,但是不会影响其他同类对象的数据。 
    B,引用方便。直接用类名.静态方法名  或者  类名.静态变量名就可引用并且直接可以修改其属性值,不用get和set方法。
    C,保持数据的唯一性。此数据全局都是唯一的,修改他的任何一处地方,在程序所有使用到的地方都将会体现到这些数据的修改。有效减少多余的浪费。

    D,static final用来修饰成员变量和成员方法,可简单理解为“全局常量”。对于变量,表示一旦给值就不可修改;对于方法,表示不可覆盖。

    3、静态变量、静态方法和静态块

           通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象(跟类是否有static修饰无关)。

           你可以将方法和变量都声明为static。static 成员的最常见的 例子是main( ) 。声明为static的方法有以下几条限制: ·

    A,它们仅能调用其他的static 方法

    B,它们只能访问static数据

    C,它们不能以任何方式引用this 或super(this涉及到对象,super 与继承有关)

           示例:Static 块仅在该类被加载时执行一次。下面的例子显示的类有一个static方法,一些static变量,以及一个static 初始化块。

    1. public class TestNew {  
    2.     static int a = 3;  
    3.     static int b;  
    4.     static void meth(int x){  
    5.         System.out.println("x = "+x);  
    6.         System.out.println("a = "+a);  
    7.         System.out.println("b = "+b);  
    8.     }  
    9.     static {  
    10.         System.out.println("static block initialized");  
    11.         b = a*4;  
    12.     }  
    13.     public static void main(String[] args) {  
    14.         // TODO Auto-generated method stub  
    15.         meth(42);  
    16.     }  
    17. }  

           执行结果是:

    static blockinitialized
    x = 42
    a = 3
    b = 12

    上述classTestNew的执行顺序是:首先static 块执行(打印一条消息),a被设置为3,最后b被初始化为a*4 成12。然后调用main(),main () 调用meth() ,把值42传递给x。3个println ( ) 语句引用两个static变量a和b,以及局部变量x 。

    4、外部使用静态变量或者静态方法

           在定义它们的类的外面,static方法和变量能独立于任何对象而被使用,你只要在类的名字后面加点号运算符即可。可以看到,这种格式与通过对象引用变量调用非static方法或者变量的格式类似。示例:

    1. class StaticDemo{  
    2.     static int a = 42;  
    3.     static int b = 99;  
    4.     static void callme(){  
    5.         System.out.println("a = "+a);  
    6.     }  
    7. }  
    8. public class TestNew {  
    9.     public static void main(String[] args) {  
    10.         // TODO Auto-generated method stub  
    11.         StaticDemo.callme();  
    12.         System.out.println("b = "+StaticDemo.b);  
    13.     }  
    14. }  

         执行结果:

    a = 42
    b = 99

    5、静态内部类

    静态内部类是指在一个类的内部,又定义了一个用static修饰的类。

    A,首先,用内部类是因为内部类与所在外部类有一定的关系,往往只有该外部类调用此内部类。所以没有必要专门用一个Java文件存放这个类。

    B,静态方法、静态成员变量。它唯一的作用就是随着类的加载(而不是随着对象的产生)而产生,以致可以用类名+静态成员名直接获得。这样静态内部类就可以理解了,它可以直接被用外部类名+内部类名获得。

    publicclass Build {

          ..............

        public static class VERSION {

               ................

               public static final String RELEASE =getString("ro.build.version.release");

               ................

         }

         ................

    }

    在外部可以直接通过Build.VERSION.RELEASE来访问。

    6、静态常量

    静态常量不可变,可以直接被访问,如类名.静态常量名。例如:

    public class MathTest{

       public static final double PI= 3.1415926;

    }

    可以直接采用MathTest.PI的形式访问该PI常量。

     

     

    展开全文
  • Java 静态变量,静态方法,静态常量 就是变量 ,方法,常量前面添加了static 关键字 为什么要使用静态的呢 有时候在处理问题时会需要两个类在同一个内存区域共享一个数据, 不如现在 Main 类中用到一个 NAME常量 而 有...

     

    Java 静态变量,静态方法,静态常量  就是变量 ,方法,常量前面添加了static 关键字

    为什么要使用静态的呢

    有时候在处理问题时会需要两个类在同一个内存区域共享一个数据, 不如现在 Main 类中用到一个 NAME常量 

    而 有一个Book类中也用到了NAME常量,这时就没有必要在2个类中都创建NAME常量了 为了解决这个问题 我们

    可以把这个NAME常量设置为static 相信这里就明白了为什么要使用了static了吧

    其语法:

             类名.静态类成员

    一个小案例 来更好的理解static 关键字

    package me;
    
    public  class Me {
        static String name; //静态变量
        static double PI = 3.14;//静态常量
    
        public static void Fine(){
         System.out.println("静态方法调用了额");
        }
    
        public void Method(){
            System.out.println(Me.name);
            System.out.println(Me.PI);
        }
    
        public static void main(String[] args) {
            Me.Fine(); //静态方法调用
            Me me = new Me();
            me.Method();// 等同于 new Me().Method();
    
        }
    }
    

           

     静态变量, 静态方法,静态常量 以上demo 都提到了.

    注意事项:

    1 静态方法不可以使用this关键字

    2 在静态方法中不可以直接调用非静态方法 

     

     

    展开全文
  • java虚拟机编译机制,静态常量在编译后,成为了常量,而不是原先的代码,例如: 有一个类   Contant.java 里面有一些静态常量   public static final String GONGDAN = "gongdan@ceopen.cn"; ...
  • JAVA静态常量

    千次阅读 2011-10-06 15:55:24
    在项目中,一般都有很多静态常量静态常量往往由于访问效率比较高。不过一般会把他们放在哪呢 一:放到Interface,因为 java interface中声明的字段在编译时会自动加上static final的修饰符,即声明为常量 二:放...
  • Java静态常量和静态变量的区别

    万次阅读 多人点赞 2019-02-10 01:32:03
    如下:测试java静态常量和静态变量区别的样例,表明两者加载时的区别。 StaticClass类中定义了静态常量FIANL_VALUE和静态变量VALUE,静态代码块的打印语句表示类被加载 public class StaticClass {   ...
  • Java静态常量可以被覆写吗?在一个类中定义一个静态常量,它的子类类中定义一个同名的静态常量,这样可以吗?
  • JAVA修改静态常量的方法

    千次阅读 2014-03-05 23:33:59
    RT,代码块,一目了然 ...//通过打开Field权限来实现静态常量的值 Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); //这里的f...
  • java虚拟机编译机制,静态常量在编译后,成为了常量,而不是原先的代码,例如: 有一个类   Contant.java 里面有一些静态常量   public static final String GONGDAN = "gongdan@ceopen.cn"; public
  • Kotlin 静态常量写法

    千次阅读 2019-06-28 14:33:53
    Java静态常量写法 public class javaTest { public static final int DELAY_TIME = 1000; } Kotlin静态常量写法 class kotTest { companion object { const val DELAY_TIME:Int = 1 } }
  • JAVA声明静态常量

    2014-08-29 15:38:40
    参考自:http://dengminhui.iteye.com/blog/483530  ...   常用的声明方式(使用静态代码块): Java代码  public final static Map map = new HashMap();  static {   map...
  • Java常量池(静态常量池与运行时常量池)

    万次阅读 热门讨论 2018-03-02 11:12:50
    Java中的常量池,实际上分为两种形态:静态常量池和运行时常量池。 1)所谓静态常量池,即*.class文件中的常量池,class文件中的常量池不仅仅包含字符串(数字)字面量,还包含类、方法的信息,占用class文件绝大部分...
  • https://blog.csdn.net/qq853632587/article/details/78194768 -Java静态常量和静态变量的区别 静态常量:static final 静态变量:static 这两者都存储在方法区中(个人理解:常量区和静态变量区) 在某些情况...
  • 1、前言 在使用Java进行编程的过程中,我们经常碰到这些关于变量和常量的概念。如何区分变量、常量、静态变量、静态常量、局部变量等概念,下面看我一一道来。 2、变量 ...
  • Java常量与静态常量能不能修改值

    千次阅读 2019-09-04 09:55:29
    import java.util.*; // 2019/9/4 public class ConstVarDemo { private final int v1 = 1; private static final int v2 = 2; private final List<Integer> list1 = new LinkedList<>(); p...
  • 修改一个常量类中的静态常量值,然后把常量类的class文件上传到服务器后并没有生效,多次重启服务,最后查询了相关...这里就牵扯到Java虚拟机编译机制:在Java文件中,指向编译时static final的静态常量, 会在运行...
  • ![图片说明](https://img-ask.csdn.net/upload/201704/25/1493109055_517070.png) ![图片说明]... 如图每次Test的时候性别总是为null,我想把Q仔Q妹换成“雄”和“雌”。该怎么改呢?新手求指点
  • 1.在struts.xml中加入如下配置: &lt;constant name="struts.ognl.allowStaticMethodAccess&...2.java类中的代码 package com.ibm.bmcc.app.document.utils; import java.util.regex.Pattern; pub...
  • (静态)常量池:用于存放编译器生成的各种字面量和符号引用(符号引用区别于直接引用,后者在class...相对于静态常量池,运行时常量池具有动态性,在程序运行的时候可能将新的常量放入运行时常量池中,比如使用St...
  • 字符串常量池(String Poll) java6: 存在于永久代中。 字符串常量池保存的是字符串常量。... java7: ... 字符串常量池存的是字符串常量和堆内的字符串对象的引用。...静态常量池 zld自身理解:java编译后生成的...
  • 1.静态变量 看到一位大神写得非常赞,我直接copy了这一段 什么叫静态与非静态静态:对于该类的对象来说,都只有一个。叫作类变量。 非静态:每个该类的对象都各有一个拷贝。叫作成员变量。 比如工商银行卡类:他们...
  • lang.text.dateFormat,这个类中由于要使用其中几个静态常量 。结果发现自己不会调用,请问一下各位大神如何调用一个公开静态常量
  • java中创建静态常量键值对Map

    千次阅读 2015-08-27 16:03:34
    1、先导入commons-collections-3.1.jar包 public static final Map CITY_MAP; static{ Map cityMap = new HashMap(); cityMap.put("xx", "xx"); CITY_MAP = UnmodifiableMap.decorate(cityMap);...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 221,584
精华内容 88,633
关键字:

java静态常量

java 订阅