面向对象4——静态

原创 2013年12月02日 00:24:04

静态的用例

1.除了对象调用方式外,还有一个类名调用方式。

2.虽然工具类可以使用,但是每一个功能都没有对该类的对象的特有数据进行访问,那么这些功能,就不需要对象调用,所以可以将这些功能都定义成static的类型。而且当这个类中的功能都被静态化后,只要使用类名调用即可。

3.当其他程序使用该类时,因为该类中有一个默认的构造函数,所以其他程序还可以建造该类对象。而该类并不需要对象就可以使用类中的成员,所以这个对象建立的就没有任何意义,为了提高程序的严谨性,应该强制不让其他程序建立该类的对象。该怎样禁止其他程序建立该对象?只要将该类的构造函数私有化,这样,你即使建立了该类的对象,也没有办法初始化。

如何制作类的帮助文档?

帮助文档的建立,方便你使用该类中的功能。

javadoc -d toolhelp -author -version ArrayTool.java其中:toolhelp时所建立的文件夹名-author作者名-version版本名@param      @return     

主函数

1.主函数是静态的,说明主函数只能直接访问静态的成员。

2.public static void main(String[] args)

publicjvm(虚拟机)调用的函数必须权限足够大,所以被public修饰。

static:主函数随着类的加载而加载,jvm不需要创建该类的对象即可以完成对函数的调用,所以是静态的。

void:主函数没有返回值(加上也不错)。

main:函数名,是固定的,jvm可以识别。

String[] args:主函数的参数列表,参数类型是一个祖父传输组类型的参数。args:参数名,可以自定义。

class MainDemo 

{

int x = 4;

public static void main(String[] args) 

{

当直接利用Sys来输出args时,会输出如下:

//System.out.println(args);//[Ljava.lang.String;@de6ced

//[Ljava.lang.String;@de6ced:通过这个结果看到,args指向了一个具体的数组实体。

//而且该数组中的元素是String类型的。

System.out.println(args.length);//0,//验证了args的长度是0

//通过两个输出语句,就可以验证,jvm给主函数传递的实际参数是: new String[0];

/*

这是jvm传入的默认值。

但是没什么用,所以我们在使用main时,可以自定义该主函数数组中的元素。

*/

如果在dos命令中输入:javac xxx.java

Java xxx haha hehe heihei xixi hiahia 和下面的输出结果一样

String[] arr = {"haha","hehe","heihei","xixi","hiahia"};

Test.main(arr);

}

public void show()

{

System.out.println("x="+x);

}

}

class Test

{

public static void main(String[] args) 

{

for(int a=0; a<args.length; a++)

{

System.out.println(args[a]);

}

}

}

静态代码块

1.格式:static{ code..;}

2.作用:当类加载进内存时,若需要进行一些内容的执行,完成一个类的初始化。就需要使用静态代码块来完成。给类进行初始化。

3.执行特点:当类别加载时,静态代码块就执行了,而且只执行一次,切优先于main函数执行。

4.class StaticCode

5.{

6. {

7. System.out.pritnln("AAAAA");

8. }

9. static

10. {

11. System.out.println("a");

12. }

13. StaticCode()

14. {

15. System.out.pritnln("cccccc");

16. }

17. static void show()

18. {

19. System.out.println("show run");

20. }

21.}

22.//输出:a,AAAAA,ccccc,a静态代码先执行,AAAAA构造函数在执行,ccccc最后执行函数

23.

24.

25.class StaticCodeDemo

26.{

27. static

28. {

29. System.out.println("b");

30. }

31. public static void main(String[] args) 

32. {

33. //StaticCode.show();

34. //StaticCode sc = null;//这种情况该类不会被装载。

35.

36. new StaticCode();

37.

38.// System.out.println("e");

39.// new  StaticCode();

40.// new  StaticCode();//3940只执行一次

41.// System.out.println("d");

42. }

43. static

44. {

45. System.out.println("c");

46. }

47.}

48.

49.//b c e a d

什么是静态面向对象语言,什么是动态面向对象语言?什么是编译型语言,什么是解释型语言?

1、我们都知道一个程序的运行过程主要分为三个步骤:编译->链接->执行; 2、什么是面向对象语言,这就不多说了; 3、什么是动态语言? 动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在...
  • u010349644
  • u010349644
  • 2015年09月28日 09:26
  • 1654

面向对象_工具类中使用静态

/* 我想定义一个数组 在同一个文件夹下,类定义在两个文件中和定义在一个文件中其实一样的。 */ class ArrayDemo{ public static void main(Str...
  • L1585931143
  • L1585931143
  • 2016年09月07日 22:56
  • 427

面向对象的4个基本特征

上个周末霸笔大唐移动的应用程序软件工程师试题,有一道面向对象的4个特征,以前都是接触的三个,怎么多出了一个?原来就是抽象性。。。面向对象的4个基本特征 在上述面向对象的基本概念基础之上,不可避免地要涉...
  • wuxinyicomeon
  • wuxinyicomeon
  • 2010年11月03日 10:17
  • 3996

【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战

发现个好东西思维导图, 最近开始用MindManager整理博客. 一. 静态图概述 1. 图的分类-静态图 图的分类 : 图分为结构行为图 和动态行为图, 结构行为图包括类图,对象图,用例图...
  • han1202012
  • han1202012
  • 2013年12月29日 00:22
  • 13762

java--面向对象(static关键字、main、静态什么时候使用、静态代码块、对象的初始化过程)

一:static关键字: package a; class person{ String name; String country="CN"; public void show(){ S...
  • qq_32823673
  • qq_32823673
  • 2017年06月09日 10:34
  • 180

面向对象_静态

------- android培训、java培训、期待与您交流! ---------- 1,静态:static 1.1用法:是一个修饰符,用于修饰成员(成员变量和成员方法),当成员变量被...
  • u013081829
  • u013081829
  • 2013年12月08日 14:57
  • 373

c++面向对象的程序设计4*4的魔方程序

#include #include using namespace std; class magic{ public: void getdate(); void setfirstmagic(); ...
  • JYLYYC
  • JYLYYC
  • 2015年04月07日 23:12
  • 1217

java的面向对象的四大特征

四大特征分别为:抽象、封装、继承、多态 下面分别说一下这四个特征: 1、抽象 抽象就是对现实的一类事物,抽取其特点,并把这些特点整合一起,用java语言表示来表示该类事物。 2、封装 封装就是把属于同...
  • u011359903
  • u011359903
  • 2016年10月10日 21:19
  • 1415

JAVA面向对象之静态属性和方法

在实际软件开发过程中,有的时候希望无论是否产生了对象,或是产生了多少对象,某些特定的数据在内存中只有一份,JAVA中通过static关键字来解决这个问题。 在类内使用关键字static修饰的成员变量...
  • jianggujin
  • jianggujin
  • 2015年12月23日 22:10
  • 3042

理解面向对象编程(二)-用例图及特征

Java语言是纯粹的面向对象的程序设计语言,这主要表现为Java完全支持面向对象的三种基本特征:继承、封装和多态。Java语言完全以对象为中心,Java程序的最小程序单位是类,整个Java程序由一个一...
  • heart_2015
  • heart_2015
  • 2016年05月08日 14:03
  • 1175
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:面向对象4——静态
举报原因:
原因补充:

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