Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7550
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 45
  • 用 户 组: 普通用户
  • 注册时间: 2014-09-26 17:51
文章分类
文章存档

2015年(1)

2014年(6)

我的朋友
最近访客

分类: Java

2014-12-26 16:20:45

static:★★★ 关键字,是一个修饰符,用于修饰成员(成员变量和成员函数)。这个关键字对于很多java初学者是个噩梦。

优点:

1,想要实现对象中的共性数据的对象共享。可以将这个数据进行静态修饰。

2,被静态修饰的成员,可以直接被类名所调用。也就是说,静态的成员多了一种调用方式。类名.静态方式

3,静态随着类的加载而加载。而且优先于对象存在。

 

缺点:

1,有些数据是对象特有的数据,是不可以被静态修饰的。因为那样的话,特有数据会变成对象的共享数据。这样对事物的描述就出了问题。所以,在定义静态时,必须要明确,这个数据是否是被对象所共享的。

2,静态方法只能访问静态成员,不可以访问非静态成员。

因为静态方法加载时,优先于对象存在,所以没有办法访问对象中的成员。

3,静态方法中不能使用thissuper关键字。

因为this代表对象,而静态在时,有可能没有对象,所以this无法使用。

4,主函数是静态的。

 以上是我看了一些总结出来的,建议大家在学习的时候多练习,多总结。

什么时候定义静态成员呢?或者说:定义成员时,到底需不需要被静态修饰呢?

成员分两种:

 

Public访问权限最大。

static不需要对象,直接类名即可。

void主函数没有返回值。

Main主函数特定的名称。

(String[] args)主函数的参数,是一个字符串数组类型的参数,jvm调用main方法时,传递的实际参数是 new String[0]

 
我们来看看java的内存:java把内存分为栈内存和堆内存,栈内存用来存放一些基本类型的变量和数组及对象的引用变量,而堆内存主要是来放置对象的。

jvm默认传递的是长度为0的字符串数组,我们在运行该类时,也可以指定具体的参数进行传递。可以在控制台,运行该类时,在后面加入参数。参数之间通过空格隔开。jvm会自动将这些字符串参数作为args数组中的元素,进行存储。

 

静态代码块、构造代码块、构造函数同时存在时的执行顺序:静态代码块 --》构造代码块 --》 构造函数;
代码我就不贴出来了,大家自己写一些吧,如果目前实在是不明白,我建议你暂时先不用理解的太清楚,等你工作了一段时间之后,
回过头来再看,就会有恍然大悟的感觉了。

阅读(230) | 评论(0) | 转发(0) |
0

上一篇:java中的io流

下一篇:java异常小总结

给主人留下些什么吧!~~