❤️作者简介:大家好,我是小虚竹。Java领域优质创作者,CSDN博客专家,华为云享专家,掘金年度人气作者,阿里云专家博主,51CTO专家博主
❤️技能活,该赏
❤️点赞 收藏 ⭐再看,养成习气

❞
零、序言本日是学习 「JAVA措辞」 打卡的第40天,我的学习策略很大略,题海策略+ 费曼学习法。如果能把这100题都认负责真自己实现一遍,那意味着 「JAVA措辞」 已经筑基成功了。后面的进阶学习,可以连续随着我,一起走向架构师之路。
一、题目描述题目:在类中,除以可以定义参数,方法和块,还可以定义类。这种类叫做内部类。
实现:利用静态内部类来实现利用一次遍历求最大值和最小值。
二、解题思路写一个求最大值最小值的类:MaxMin
在MaxMin类中,定义一个静态内部类:Result
然后在该类中定义两个参数,一个是max,表示最大值。一个是min,表示最小值。
写这两个参数的get方法和通过布局方法初始化值。
再定义一个静态方法,返回的类型是Result。这样返回的值同时包含最大值和最小值。
静态内部类是利用static润色的内部类。
三、代码详解最大值最小值的类MaxMin:
public class MaxMin { public static class Result { private int max; private int min; public Result(int max, int min) { this.max = max; this.min = min; } public int getMax() { return max; } public int getMin() { return min; } } public static Result getResult(int[] array) { int max = Integer.MIN_VALUE; int min = Integer.MAX_VALUE; for (int i : array) { if (i > max) { max = i; } if (i < min) { min = i; } } return new Result(max, min); }}
测试类
public class Test { public static void main(String[] args) { int[] array = new int[5]; Random random = new Random(); for (int i = 0; i < array.length; i++) { array[i] = random.nextInt(100); } System.out.println("源数组:"); for (int i = 0; i < array.length; i++) { System.out.println(array[i]); } System.out.println("最大值:" + MaxMin.getResult(array).getMax()); System.out.println("最小值:" + MaxMin.getResult(array).getMin()); }}
在静态内部类中,可以利用外部类定义的静态变量。但是不能利用非静态变量,这个是静态内部类与非静态内部类的差异。
我是虚竹哥,我们下一题见~