Java常量的定义

发表于:2015-11-30 09:31

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:lindianlide    来源:51Testing软件测试网采编

  一、接口中定义常量:
  由于java interface中声明的字段在编译时会自动加上static final的修饰符,即声明为常量。
  public interface Constants{
  String name = "111";
  }
  public class read{
  public static void main(String[] args){
  System.out.println("Class Constants's name = " + Constants.name);
  }
  }
  由于引用了一个static final 的字段,编译器已经将interface Constants中name的内容编译进了class read中,而不是对其引用。因此只有重新编译class read,interface Constants中name发生的变化才能在class read中反映。
  二、类中定义
  public class Constants{
  private static final String name = "111";
  public static String getName(){
  return name;
  }
  }
  public class read{
  public static void main(String[] args){
  System.out.println("Class Constants's name = " + Constants.getName());
  }
  }
  class read中是对Constants class的getName()方法的引用,当常量name的值改变时我们只需对class Constants中的常量做修改并重新编译,无需编译class read。
  我们可以使用jdk提供的反编译工具javap反编译read.class看个究竟,输入:javap -c read即可查看两种方式的不同。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号