三九宝宝网宝宝百科宝宝知识

Java中static、this、super、final用法简谈一

11月25日 编辑 39baobao.com

[多条件求和函数Sumifs的用法]2首先输入=sumif,然后按Tab键确定,我们要对数量进行求和,所以先将数量从头拉到尾(C2:C8),然后在C2:C8后面输入英文逗号,再选择第一个条件-日期(A2:A8),点击条件的具体内容,也就是大...+阅读

本篇旨在帮助准备学习Ja以及刚接触Ja的朋友认识、掌握和使用static、this、super、final这几个关键字的使用。Ja博大精深,我也是一位正在学习和使用Ja的爱好者,文中难免有不妥之处,欢迎指正。

一、static

请先看下面这段程序:

public class Hello{

public static void main(String[] args){ (1)

System.out.println("Hello,world!"); (2)

}

}

看过这段程序,对于大多数学过Ja 的从来说,都不陌生。即使没有学过Ja,而学过其它的高级语言,例如C,那你也应该能看懂这段代码的意思。它只是简单的输出“Hello,world”,一点别的用处都没有,然而,它却展示了static关键字的主要用法。

在1处,我们定义了一个静态的方法名为main,这就意味着告诉Ja编译器,我这个方法不需要创建一个此类的对象即可使用。你还得你是怎么运行这个程序吗?一般,我们都是在命令行下,打入如下的命令(加下划线为手动输入):

jac Hello.ja

ja Hello

Hello,world!

这就是你运行的过程,第一行用来编译Hello.ja这个文件,执行完后,如果你查看当前,会发现多了一个Hello.class文件,那就是第一行产生的Ja二进制字节码。第二行就是执行一个Ja程序的最普遍做法。执行结果如你所料。在2中,你可能会想,为什么要这样才能输出。好,我们来分解一下这条语句。(如果没有安装Ja文档,请到Sun的官方网站浏览J2SE API)首先,System是位于ja.lang包中的一个核心类,如果你查看它的定义,你会发现有这样一行:public static final PrintStream out;接着在进一步,点击PrintStream这个超链接,在METHOD页面,你会看到大量定义的方法,查找println,会有这样一行:public void println(String x)。好了,现在你应该明白为什么我们要那样调用了,out是System的一个静态变量,所以可以直接使用,而out所属的类有一个println方法。

静态方法

通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法。如下所示:

class Simple{

static void go(){

System.out.println("Go...");

}

}

public class Cal{

public static void main(String[] args){

Simple.go();

}

}

调用一个静态方法就是“类名。方法名”,静态方法的使用很简单如上所示。一般来说,静态方法常常为应用程序中的其它类提供一些实用工具所用,在Ja的类库中大量的静态方法正是出于此目的而定义的。

静态变量

静态变量与静态方法类似。所有此类实例共享此静态变量,也就是说在类装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间,当然对于final则另当别论了。看下面这段代码:

class Value{

static int c=0;

static void inc(){

c++;

}

}

class Count{

public static void prt(String s){

System.out.println(s);

}

public static void main(String[] args){

Value v1,v2;

v1=new Value();

v2=new Value();

prt("v1.c="+v1.c+" v2.c="+v2.c);

v1.inc();

prt("v1.c="+v1.c+" v2.c="+v2.c);

}

}

结果如下:

v1.c=0 v2.c=0

v1.c=1 v2.c=1

以下为关联文档:

SUMIF求和函数的用法2第一种, 省略第三个参数时的情况,求语文成绩大于80分的总和,公式为=SUMIF(B2:B7,80)B2:B7为语文成绩所在的区域,80,为条件设定,这里必须要用才能有效3由于第三个参数省略,条件...

《新标准》英语教学中对词汇用法的延伸终于,学生们给期末考试划上了句号,接下来便是老师的事了,阅卷,登分,质量分析。当然做这些事都要到明天,现在我能做的就是从试卷中得到一点启示。没有细看整份试卷,单看了单词拼写,...

新概念英语否定句的用法新概念英语:否定句(l)be动词的否定句I am not hungry.我不饿。Sha isnt a nurse.她不是护士。(2)情态动词的否定句句型:主语+情态动词+not+动词原形I can not do it my...

宝宝便秘开塞露怎么用用法重要注意事项更重要便秘,不单只围绕我们成年人,宝宝也是会便秘的,而且比我们成年人还难受!宝宝便秘的程度分为多种,有的便秘只是单纯的很多天不大便,有的便秘则是排便困难和便便干结,要不就是排出的大...

用法语学习公司商业信函中法对照(Lieu, Date) Corporation de… A l'attention de M… Monsieur le Directeur, A la suite de notre entretien du 29 septembre dernier, j'ai l'honneur de vous adresser c...

美国口语习惯用法例句you are a dreamboat. 你是位(异性所追求的)理想人选 you are such a dish. 你是个绝色美人 i've been dying to meet you. 我非常非常想见到你 everytime i see you,you lee...

some any no 的用法1)some, any, no既可用于可数名词也可用于不可数名词,表示不肯定的数量。 例如】 I he hardly any coffee left. There are some books and a pen on the table. Hurry up, t...

用法语怎样学习法语一个星期之前,我刚刚从法国讲学返回,我们的同学就给我出了这样一个题目,初始我感到十分愕然。中文系的学生提出这样的问题尚且情有可原,外语学院的学生可是万万不应该。难道他们...

用法语表达你的电脑配置Deion: Marque: Sony Vitesse du processeur: 1,7 GHz Processeur: Intel Centrino Capacité du disque dur: 80 Go Mémoire (RAM): 512 Mo Taille de l’écran TFT: 15,...

推荐阅读
图文推荐