静态的应用

原创 2015年07月09日 16:28:20

静态的应用。

每一个应用程序中都有共性的功能,可以将这些功能进行抽取,独立封装,以便复用;

1.先写一个工具类Java文件

class ArrTool
{
	public int Getmax(int[] arr)
	{
		int max=0;
		for(int x=0;x<arr.length;x++)
		{
			if(arr[x]>arr[max])
				max=x;
		}
		return arr[max];
	}
	public int Getmin(int[] arr)
	{
		int min=0;
		for(int x=0;x<arr.length;x++)
		{
			if(arr[x]<arr[min])
				min=x;
		}
		return arr[min];
	}
	public void SelectSort(int[] arr)
	{
		for(int x=0;x<arr.length-1;x++)
		{
			for(int y=x+1;y<arr.length;y++)
				if(arr[x]>arr[y])
			{
				Swap(arr,x,y);
			}
		}
	}
	public void BubbleSort(int[] arr)
	{
		for(int x=1;x<arr.length-1;x++)
		{
			for(int y=0;y<arr.length-x;y++)
			{
				if(arr[y]>arr[y+1])
					Swap(arr,y,y+1);
			}
		}
	}
	public void Swap(int[] arr,int a,int b)
	{
		int t=arr[a];
		arr[a]=arr[b];
		arr[b]=t;
	}
}

2.再写一个调用文件

class ArrToolDemo
{
	public static void main(String[] args)
	{
		int[] arr={3,41,56,13,76,22};
		ArrTool tool=new ArrTool();
		int max=tool.Getmax(arr);
		System.out.println("max="+max);
	}
}

此时文件夹有两个文件

然后编译运行

第一种方法:先编译工具类文件,在编译调用文件并运行;



第二种方法:直接编译调用文件,因为当编译文件时存在其他类时,会在指定目录下(未指定则在当前目录下)寻找该类的运行文件(arrtool.class),如果有则运行,如果没有则虚拟机寻找其Java文件并编译;(所以使用工具时只要有工具类的运行文件就可以(arrtool.class),即使没有Java文件也行);

 

虽然可以通过建立ArrTool的对象使用这些工具方法,对数组进行操作。

发现问题:

1,对象时用于封装数据的,可是ArrTool对象并未封装特有数据。

2,操作数组的每一个方法都没有用到ArrTool对象中的特有数据。

 

这时就考虑,让程序更严谨,是不需要对象的。

可以将ArrTool中的方法都定义成static的,直接通过类名调用即可。

class ArrTool
{
	public static int Getmax(int[] arr)
	{
		int max=0;
		for(int x=0;x<arr.length;x++)
		{
			if(arr[x]>arr[max])
				max=x;
		}
		return arr[max];
	}
	public static int Getmin(int[] arr)
	{
		int min=0;
		for(int x=0;x<arr.length;x++)
		{
			if(arr[x]<arr[min])
				min=x;
		}
		return arr[min];
	}
	public static void SelectSort(int[] arr)
	{
		for(int x=0;x<arr.length-1;x++)
		{
			for(int y=x+1;y<arr.length;y++)
				if(arr[x]>arr[y])
			{
				Swap(arr,x,y);
			}
		}
	}
。。。。。。。。。。。。

调用文件就不需要创建对象

class ArrToolDemo
{
	public static void main(String[] args)
	{
		int[] arr={3,41,56,13,76,22};
		//ArrTool tool=new ArrTool();
		int max=ArrTool.Getmax(arr);//直接使用类变量调用
		System.out.println("max="+max);
	}
}

 

将方法都静态后,可以方便使用但是该类还是可以被其他程序建对象。

为了更为严谨,强制让该类不能创建对象,可以通过将构造函数私有化完成。



 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java学习第7天:对象静态的应用和ArrayTool工具类

每一个应用程序中都有共性的功能, 可以将这些功能进行抽取,独立封装。 以便复用。   虽然可以通过建立ArrayTool的对象使用这些工具方法,对数组进行操作。 发现了问题: 1,对象是用...

Android中实现静态的默认安装和卸载应用

这篇博文转自这里:原博链接,由于原博实在是太给力了,故而转载到自己博客来,意在和大家分享~ 最近好长时间都没有写blog了,主要是因为最近工作上的事以及下载Android源码的事耽误的(下载源码这...

Android中实现静态的默认安装和卸载应用

最近好长时间都没有写blog了,主要是因为最近工作上的事以及下载Android源码的事耽误的(下载源码这件事会在后续的blog中写道,这个真的很有意义呀~~),那么今天来写点什么呢?主要的灵感来自于早...
  • ljchlx
  • ljchlx
  • 2015年06月29日 16:40
  • 2723

java study 06day--静态的应用(工具类的建立)

静态的应用。 每一个应用程序中都有共性的功能, 可以将这些功能进行抽取,独立封装。以便复用。   将方法都静态后,可以方便于使用,但是该类还是可以被其他程序建立对象的。 为了更为严谨,强制让...
  • cfj912
  • cfj912
  • 2012年09月03日 13:38
  • 164

面向对象_静态的应用_工具类

Demo.java /* 1、直接把代码写进main函数。 坏处:多个数组,需要把代码在main函数里面重新写一遍。 2、为了解决1的坏处,定义一个功能,把关键代码放进去。 好处:提高代码的复用。 坏...

静态的应用

什么时候使用静态?要从两方面下手: 因为静态修饰的内容有成员变量和成语函数1.什么时候定义静态变量(类变量)呢? 当对象中出现共享数据时,该数据被静态所修饰 对象中的特有数据要定义成非静态存在于...

黑马程序员--- static、静态的应用、帮助文档的制作

---------------------- android培训、java培训、期待与您交流! ---------------------- 3.6 static(静态)关键字 (...

Android中实现静态的默认安装和卸载应用

最近好长时间都没有写blog了,主要是因为最近工作上的事以及下载Android源码的事耽误的(下载源码这件事会在后续的blog中写道,这个真的很有意义呀~~),那么今天来写点什么呢?主要的灵感来自于早...

java--静态的应用(工具类)

ArrayTool.java文件 /** 静态的应用。 每一个应用程序中都有公行动的功能,可以将这些功能进行抽取,独立封装以便复用 由于ArrayTool中并没有封装特有数据,而且数组的每一个方...

黑马程序员——静态的应用

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 静态的应用 静态的应用。 每一个应用程序中都有共性的功能, 可以将这些功能进行抽取,独立封...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:静态的应用
举报原因:
原因补充:

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