全新java初学者实践教程16(java SE5.0版)----基本语法5

转载 2007年10月03日 12:15:00
    这已经是百家拳软件项目研究室的第16次课了,在我们前几次课的基础上,我们继续学习一下百家拳软件项目研究室的第16次课了,在我们前几次课的基础上,我们继续学习一下java的语法。这回我们,讲static关键字。
    static关键字可以用来修饰类的变量,方法和内部类。static是静态的意思,也是全局的意思它定义的东西,属于全局与类相关,不与具体实例相关。就是说它调用的时候,只是ClassName.method(),而不是new ClassName().method()。new ClassName()不就是一个对象了吗?static的变量和方法不可以这样调用的。它不与具体的实例有关。实践:
class Count {
    privateintserialNumber;
    publicstaticintcounter = 0; //一个静态变量counter
    public Count() {
       counter++;   //创建Counter的时候递增
       serialNumber = counter;}
    publicint getSerialNumber(){
       returnserialNumber;
    }}
class OtherClass {
    publicint increment(){
       return Count.counter++;//静态的变量不属于任何实例只能直接用类调用
    }}
publicclass TestStaticVar {
    publicstaticvoid main(String[] args){
       Count[] cc = new Count[10];
       OtherClass o = new OtherClass();
       for (int i=0;i<cc.length;i++){
           cc[i] = new Count();
           System.out.println("cc["+i+"].serialNumber = "+cc[i].getSerialNumber());
           System.out.println(o.increment());
       }}}查看结果
    类的方法中带有static关键字,这个方法就是静态方法。静态方法也是要通过类名,而不是实例访问。实践:
class GenerealFunction {
    publicstaticint add(int x,int y){
       return x+y;
}}
publicclass UseGeneral {
    publicstaticvoid main(String[] args){
       //调用时还是用类直接调用
       int c = GenerealFunction.add(19,18);
         System.out.println("结果是"+c);
}}
    注意:子类不能重写父类的静态方法哦,也不能把父类不是静态的重写成静态的方法。想隐藏父类的静态方法的话,在子类中声明和父类相同的方法就行了。
   
前一阵子有同学问了,main()是什么意思啊?main()的前面不是也有一个static吗,它也是静态方法。它是程序的入口点,就是说java的程序是由java虚拟机执行的,java语言和虚拟机的入口就是main()因为它是static的,这可以使JVM不创建实例对象就可以运行该方法。因此我们在main()中调用别的类的非静态方法,就要创建实例。像上面的例子:OtherClass o = new OtherClass();
System.out.println(o.increment()); 不用实例o去调用是不行的。
前面我们已经见到很多这样的例子了。
大家看一个错误的例子:
int x;
public static void x() {
    x = 15; //这个是错误的,x是非静态变量
}
static 还可以修饰程序块{}括起来,用法与上述两种方法相同
public class StaticInit {
 public static int count = 1;
 static {
    count = Integer.getInteger("myApplication.counter").intValue();
 }
}
 

java初学者实践教程1-配置环境变量

环境变量这个概念,是我们平时用电脑时不常用的概念,所以大家在下载完jdk之后,不知如何配置环境变量。下面我解释一下,环境变量相对于给系统或用户应用程序设置的一些变量。应该怎么理解呢?我们来做一个实验吧...

java初学者实践教程2-jdk的使用

这节我们首先体验一下用java编写的程序。也让大家过把代码瘾,呵呵。目前世界上大部分的软件教程有一个习惯,最开始时总要输出一个字符串“HelloWorld”。我们也是不能免俗啊,也要输出这么一段话。 ...

Java语言语法-控制结构

  • 2008年01月29日 01:00
  • 1KB
  • 下载

Markdown学习之(1)-实践基本语法文档

MarkDown学习实践文档背景:Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。现在各大博客,小说写作,日志记录等等都使用Mark...

JAVA经典教程-Groovy入门

  • 2008年09月05日 14:06
  • 1.39MB
  • 下载

JAVA经典教程-9天玩转JSP

  • 2008年09月05日 14:01
  • 581KB
  • 下载

Top 16 Java 应用类 - 这些功能再也不用自己写了

Java中有许多应用类,这些类定义静态方法可以解决很多常见的问题。下面是通过5万个开源项目统计得到的最热门的16个应用类。 类按热门程序排列,类的方法也是按热门程序排序。 浏览这个类可以看看有哪些功...

SUN_JAVA 培训教程-翻译稿

  • 2009年05月26日 18:12
  • 1.33MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:全新java初学者实践教程16(java SE5.0版)----基本语法5
举报原因:
原因补充:

(最多只允许输入30个字)