博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 25天基础-DAY 06-面向对象-静态应用---工具类
阅读量:5956 次
发布时间:2019-06-19

本文共 2394 字,大约阅读时间需要 7 分钟。

静态应用---工具类

虽然可以同拖建立ArryTool的对象使用这些工具方法,对数组进行操作,发现了问题。
1;对象是用于封装数据的,可是ArrayTool对象并未封装特有数据。
2;操作数组的没一个方法都没有用到ArryTool对象的特有数据。

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

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

例:

class demo
{

public static void main(String[] args) {    int [] arr = {3,4,1,8};        /*    ArryTool tool = new ArryTool();    int max = tool.getMax (arr);    System.out.println(max);    ArryTool tool1 = new ArryTool();    int min = tool1.getMin (arr);    System.out.println(min);
tool.printArry(arr);        tool.bubbleSort(arr);    tool.printArry(arr);        tool.selectsort(arr);    tool.printArry(arr);*/    int max = ArryTool.getMax(arr);    System.out.println(max);}

}

/*

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

虽然可以同拖建立ArryTool的对象使用这些工具方法,对数组进行操作,发现了问题。

1;对象是用于封装数据的,可是ArrayTool对象并未封装特有数据。
2;操作数组的没一个方法都没有用到ArryTool对象的特有数据。

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

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

将方法都静态后,可以方便与使用,但是因为默认有一个构造函数,该类还是可以被其他程序

建立对象的。
可以将默认构造函数私有化,使别的程序无法创建对象。

如果类被public修饰,name默认的构造函数也带有public修饰符。

如果类没有被public修饰,那么默认的构造函数也没有public修饰。
默认构造函数的权限是随着类的变化而变化的。
默认的构造函数时不显示的,看不到的那个函数。如果写了一个空参数的构造函数则这个空参数的构造函数是自定义构造函数
*/

/**

文档说明书
这是一个对数组进行操作的工具类,该类中提供了,获取最值,排序功能
@author 张三丰
@version v1.0

*/

public class ArryTool
{

/**

空参数构造函数

*/

private ArryTool (){}

/**

获取一个整型数组中的最大值,
@param arr 接受一个int 类型的数组。
@return 返回一个该数组中最大值。
*/

public static int getMax(int [] arr){    int max =0;    for (int x=1;x
arr[max]) max= x; } return arr[max];}

/**

获取一个整型数组中的最小值,
@param arr 接受一个int 类型的数组。
@return 返回一个该数组中最小值。
*/

public static int getMin (int [] arr){       int min =0;    for (int x=1;x

/**

给一个int类型数组排序
@param arr 接受一个int 类型的数组。

*/

public static void selectsort (int [] arr){    for (int x=0;x
arr[y]) { swap (arr,x,y); } } }}

/**

给一个int类型数组排序(冒泡排序)
@param arr 接受一个int 类型的数组。

*/

public static void bubbleSort (int [] arr){    for (int x= 0;x
arr[y+1]) { swap (arr,y,y+1); } } }}

/**

给一个int类型数组中的元素进行位置置换
@param arr 接受一个int 类型的数组。
@param a 要置换的位置
@param b 要置换的位置
*/

private static void swap (int [] arr,int a, int b){//私有化,因为该函数只在该类内使用。不需要暴露在外面。    int temp = arr[a];    arr[a] = arr[b];    arr[b] = temp;}

/**

用于打印数组中的元素,打印形式是:[elemet1.elemet2,..........]
*/

public  static void printArry (int [] arr){    System.out.print ("[");    for (int x=0;x

}

clipboard

转载地址:http://sylxx.baihongyu.com/

你可能感兴趣的文章
React 组件通信之 React context
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
3D地图的定时高亮和点击事件(基于echarts)
查看>>
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
并查集hdu1232
查看>>
Mysql 监视工具
查看>>
从前后端分离到GraphQL,携程如何用Node实现?\n
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
nginc+memcache
查看>>
Numpy中的random模块中的seed方法的作用
查看>>
关于jsb中js与c++的相互调用
查看>>
POJ-2251 Dungeon Master
查看>>
tortoisesvn的安装
查看>>
URAL 1353 Milliard Vasya's Function DP
查看>>
速读《构建之法:现代软件工程》提问
查看>>
Android onclicklistener中使用外部类变量时为什么需要final修饰【转】
查看>>
django中聚合aggregate和annotate GROUP BY的使用方法
查看>>
TFS简介
查看>>