JAVA没有全局方法和全局变量
Head First Java书中有一例:java.math的方法:比如int x=Math.round(42.2)之类的方法,这个方法就类似于全局方法。Math是一个类,但是如果你尝试着去创建Math对象,会发现Math的构造函数不可视(private):
静态方法(被标记为static的方法):
static用来标记这个方法不需要类实例
比如Math里的min(int a,int b):(更多Math的静态方法见http://blog.163.com/it_novice/blog/static/20918306920133159304839/)public static int min(int a, int b){//返回较小值}使用时,就直接类名.方法名,不需要任何该类对象的参与
注:静态方法不能调用非静态变量(因为静态方法无关乎对象)静态方法不能调用非静态的方法以上是书上说的
但是实验证明,静态方法内部可以创建对象,并且可以调用对象的一切可见的非静态方法和变量所以总结更精确的静态方法不能不通过所创建的对象直接调用非静态变量静态方法不能不通过所创建的对象直接调用非静态方法

静态变量(被标记为static的变量): 对于该类所有的对象都只有一个值,所以静态变量是一个类共享一个值(静态变量的概念相对于实例变量(实例变量是每个对象有自己的值))
静态变量是在类被加载时被初始化的

final 被标记为final的变量代表你不能改变它的值 被标记为final的方法表示你不能覆盖掉该方法 被标记为final的类表示你不能继承该类(断子绝孙)
public static final double PI=3.141592653589793238; 被标记为static final即常数,命名规律是全部字母大写,以下划线分隔

*静态的import(用静态类,方法时少打几个字,不推荐) import static java.lang.System.out; import static java.lang.Math.*; 之后就能这样写:out.println(sqrt(2.235));(原来是System.out.println(Math.sqrt(2.235));)

更多相关文章

  1. 实现<table>标签的动态新增和后台接受<table>标签的方法
  2. java通过映射取得方法对一个类的变量进行赋值
  3. “不是抽象的,也不重写抽象的方法”错误
  4. java.nio.ByteBuffer的flip、rewind和compact几个方法的区分使用
  5. Android高手进阶教程(二十)之---Android与JavaScript方法相互调
  6. 手低眼高 初学者学习Hibernate的方法
  7. Java常用类及其常用方法
  8. 本地方法中printf如何传给java--java系统级命名管道
  9. java线程池使用场景和使用方法较详细文摘

随机推荐

  1. Mac OSX ipfw 防火墙配置-封端口
  2. 在fc8安装TP-Linux WN3210G+USB无线网卡,
  3. 都能看懂的嵌入式linux/android alsa_apl
  4. 鸟哥linux私房菜笔记--vi
  5. linux测试硬盘读写速度
  6. 获取Perl重命名实用程序而不是内置重命名
  7. 进程实际内存占用: 私有驻留内存数(Priva
  8. 移植MT7601U AP Linux 驱动至Orangepi-PC
  9. mongodb在linux服务器上的安装和部分基础
  10. Linux缓存相关知识整理(史上最全!!)