java中什么时候使用静态static,工具类的创建
来源:互联网 发布:惊艳的句子 知乎 编辑:程序博客网 时间:2024/04/29 21:17
/*什么时候使用静态? 要从两方面下手:因为静态修饰的内容有成员变量和函数什么时候定义静态的变量(类变量)呢?当对象中出现共享数据时,该数据被静态所修饰对象中的特有数据要定义成非静态存在于堆内存中 什么时候定义静态函数呢? 当功能内部没有访问到非静态数据(对象的特有数据)那么该功能可以定义成静态的*/ /*静态的应用: 每一个应用程序中都有共性的功能,可以将这些功能进行抽取,独立封装以便复用 虽然可以通过建立ArrayTool的对象使用这些工具方法,对数组进行操作发现了问题:1,对象是用于封装数据的,可以是ArrayTool对象并未封装特有数据2,操作数组的每一个方法都没有用到ArrayTool对象中的特有数据 这时就考虑,让程序更严谨,是不需要对象的可以将ArrayTool中的方法都定义成static的。直接通过类名调用即可。 将方法都静态后,可以方便于使用,但是该类还是可以被其他程序建立对象的为了更为严谨,强制让该类不能建立对象可以通过将构造函数私有化完成。 */class ArrayTool{ private ArrayTool(){} public static int getMax(int[] arr) { int max = 0; for(int x=1;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=1; 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=0;y<arr.length;y++) { if(arr[x]>arr[y]) { swap(arr,x,y); } } } } public static void bubbleSort(int[] arr) { for(int x=0; x<arr.length-1;x++) { for(int y=0;y<arr.length-x-1;y++) { if(arr[y]>arr[y+1]) { swap(arr,y,y+1); } } } } private static void swap(int[] arr,int a,int b) { int temp = arr[a]; arr[a] = arr[b]; arr[b] = temp; } public static void printArray(int[] arr) { System.out.print("["); for(int x=0;x<arr.length;x++) { if(x!=arr.length-1) System.out.print(arr[x]+", "); else System.out.println(arr[x]+"]"); } }} --------------------------------------------------------class Demo{ public static void main(String[] args) { int[] arr = {3,4,1,8}; int max = getMax(arr); System.out.println("max="+arr[max]); } public static int getMax(int[] arr) { int max = 0; for(int x=1; x<arr.length;x++) { if(arr[x]>arr[max]) max = x; } return arr[max]; } }---------------------------------------------------class Person{ String name; public static void show() { System.out.println("haha"); }} class{ public static void main(String[] args) { Person p = new Person(); p.show(); Person.show(); }}
0 0
- java中什么时候使用静态static,工具类的创建
- Java - static静态什么时候使用
- 什么时候使用静态static?
- Static静态---什么时候使用静态?
- 【java基础】17.10.7:static什么时候使用?有关静态变量(类变量)和静态方法(类方法)的解析
- java--面向对象(static关键字、main、静态什么时候使用、静态代码块、对象的初始化过程)
- java类的static块什么时候执行
- C中什么时候使用static?
- iOS中静态库的创建和使用、制作通用静态库(Cocoa Touch Static Library)
- Kotlin 中创建类似 Java 的静态工具方法
- java什么时候使用private public protect static
- 了解Java的类装载器(static什么时候初始化)
- Android中静态变量(static)的使用
- Android中静态变量(static)的使用
- PHP中static静态变量的使用
- php中static静态变量的使用
- java static 静态方法的使用 注意事项
- 软件开发者面试百问-----什么时候使用带有静态成员的类,什么时候使用单例?
- osgi应用使用桥接的方式打成war包部署在websphere上时遇到的与cxf相关的问题
- POJ 3069 Saruman‘s Army
- python win32com
- cocos2d-x3.0版本c++类的lua绑定
- 高仿交通银行手机客户端界面 .
- java中什么时候使用静态static,工具类的创建
- Python函数式编程指南(三):迭代器
- python模块:win32com用法详解
- 1006. Sign In and Sign Out (25)
- 马来西亚:乌克兰政府须对MH17被击落负责
- 江西45家“歪风会所”被关停
- 黑龙江一班12名高考生因思想品德好获“优先录取”
- Android适配开发----Camera
- java与servlet以及java与php完成文件的上传