图中报错的代码应该如何定义?

图片中报错的那一行代码该如何定义,直接定义构造方法显示报错,该如何调用或者定义?

img

img

按照你 main方法里调用的代码, Child类 你要定义 3个入参的构造函数,

加上构造函数

public Child(String name, int Age, String school) {
    super(name, age);
    schoolName = school;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7686459
  • 你也可以参考下这篇文章:想在一个项目中实现多数据源切换?几行代码就搞定了
  • 除此之外, 这篇博客: 数据结构复习之顺序表以及链表的方式实现常用的几种排序算法中的 完整代码-顺序表版本 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    package list;
    
    import java.util.Arrays;
    
    /**
     * <p>Descirption:分别用顺序表以及链表的方式实现常用的几种排序算法</p>
     *
     * @author 王海
     * @version V1.0
     * @package list
     * @date 2018/4/7 16:25
     * @since 1.0
     */
    
    public class MultiSortArrayAndList {
        private static final float[] FORSORT = {10, -2, 3, -1111111111.9999999f, 55, 32.8f, 66, 7.8f, 10233.88f, 52222, 45.67f, 13, 654, 99999, 1000000.666f, 77.77f, 3214, 66, 736.2f, 5, 23, 65465, 54783, 9999.999f, 5664645, -33, -66.5566778899f, 2147483647.555f, 2147483647};
    
        /**
         * 冒泡排序,带标志位(属于交换排序)
         *
         * @param forSort 等待排序的序列
         */
    
        private void bubbleSort(float[] forSort) {
            String name = "冒泡";
            long begin = System.nanoTime();
            if (forSort.length <= 1)  {
            printHelper(name, forSort, begin);
            return;
            }
            // 冒泡排序
            for (int i = 0; i < forSort.length - 1; i++) {
                // 假设下一次不需要再排序
                boolean sorted = false;
                for (int j = 0; j < forSort.length - i - 1; j++) {
                    // 这里-i是因为前几次的排序已经沉底了i个数
                    if (forSort[j] > forSort[j + 1]) {
                        float temp = forSort[j];
                        forSort[j] = forSort[j + 1];
                        forSort[j + 1] = temp;
                        // 排序过了
                        sorted = true;
                    }
                }
                if (!sorted) {
                    break;
                }
            }
            printHelper(name, forSort, begin);
        }
    
        /**
         * 快速排序(属于交换排序)
         *
         * @param forSort 等待排序的序列
         * @param left    左
         * @param right   右
         */
    
        private float[] quickSort(float[] forSort, int left, int right) {
        	if (forSort.length <= 1) return;
            int i = left;
            int j = right;
            // 递归的结束条件
            if (left < right) {
                float benchmark = forSort[left];
                // 下面不能写if,因为并不是说左右指针各移动一次就能保证左右指针“碰头”;完成一次排序
                while (i < j) {
                    // 右侧比较,小则往前放,大则右指针继续“向左前进”
                    while (i < j && forSort[j] > benchmark) {
                        --j;
                    }
                    // while循环退出,如果left还小于right,就该交换数据了
                    if (i < j) {
                        forSort[i++] = forSort[j];
                    }
                    // 左侧比较,大则往后放,小则指针继续“向右前进”
                    while (i < j && forSort[i] < benchmark) {
                        ++i;
                    }
                    if (i < j) {
                        forSort[j--] = forSort[i];
                    }
                }
                forSort[i] = benchmark;
                // 左部分递归
                quickSort(forSort, left, i - 1);
                // 右部分递归(编译器是用栈实现递归,之前的i的状态会“回来”)
                quickSort(forSort, i + 1, right);
            }
            return forSort;
        }
    
        /**
         * 直接排序(属于插入类排序)
         *
         * @param forSort 等待排序的序列
         */
    
        private void driectSort(float[] forSort) {
            String name = "直接插入";
            long begin = System.nanoTime();
            if (forSort.length <= 1)  {
            printHelper(name, forSort, begin);
            return;
            }
            for (int i = 1; i < forSort.length; i++) {
                // 注意,tmp是“准备”本次排序的那个数
                float temp = forSort[i];
                // 第一次j为0,因为第一个数有序
                int j = i - 1;
                while (j >= 0 && temp < forSort[j]) {
                    // 大的先后移
                    forSort[j + 1] = forSort[j];
                    // 没必要马上将当下就位置处的值设为temp,小的继续“往前”
                    --j;
                }
                // j已经小于0了,记得加回去
                forSort[++j] = temp;
            }
            printHelper(name, forSort, begin);
        }
    
        private void shellSort(float[] forSort) {
            String name = "希尔";
            long begin = System.nanoTime();
            if (forSort.length <= 1)  {
            printHelper(name, forSort, begin);
            return;
            }
            // 初始增量increment为length / 2【上下取整都行】
            // 向上取整用Math.ceil()
            // 向下取整用Math.floor(),int a = b/c为下取整
            int incrementNum = forSort.length / 2;
            while (incrementNum >= 1) {
                // 这里的i < forSort.length还不太规范,有多余
                for (int i = 0; i < forSort.length; i++) {
                    // 进行直接插入排序
                    for (int j = i; j < forSort.length - incrementNum; j = j + incrementNum) {
                        int drict = j;
                        // 注意,tmp是“准备”本次排序的那个数
                        float tmp = forSort[drict + incrementNum];
                        while (drict >= 0 && forSort[drict] > forSort[drict + incrementNum]) {
                            forSort[drict + incrementNum] = forSort[drict];
                            drict -= incrementNum;
                        }
                        forSort[drict + incrementNum] = tmp;
                    }
                }
                //设置新的增量
                incrementNum = incrementNum / 2;
            }
            printHelper(name, forSort, begin);
        }
    
        private void binaryInsertSort(float[] forSort) {
            String name = "折半插入";
            long begin = System.nanoTime();
            if (forSort.length <= 1)  {
            printHelper(name, forSort, begin);
            return;
            }
            int n = forSort.length;
            int i, j;
            // "本次"插入数据时,前面已有i个数
            for (i = 1; i < n; i++) {
                // temp为本次循环待插入有序列表中的数
                float tmp = forSort[i];
                int low = 0;
                int high = i - 1;
                // while循环,找到temp插入有序列表的正确位置
                while (low <= high) {
                    // 有序数组的中间坐标,此时用于二分查找,减少查找次数
                    int mid = (low + high) / 2;
                    if (forSort[mid] = tmp) {
                        low = mid;
                        break;
                    }
                    // 若有序数组的中间元素大于待排序元素,则有序序列向中间元素之前搜索,否则向后搜索
                    if (forSort[mid] > tmp) {
                        high = mid - 1;
                    } else {
                        low = mid + 1;
                    }
                }
                for (j = i; j > low; ) {
                    // 从最后一个元素开始,前面的元素依次后移
                    forSort[j] = forSort[--j];
                }
                // 插入temp
                forSort[low] = tmp;
            }
            printHelper(name, forSort, begin);
        }
    
        /**
         * 通用打印方法打印
         *
         * @param sorted    排序好的数组
         * @param sortName  排序方法
         * @param beginTime 排序开始时间
         */
    
        private void printHelper(String sortName, float[] sorted, long beginTime) {
            System.out.println("\n" + sortName + ", 排序耗时=======" + (System.nanoTime() - beginTime) + "纳秒");
            for (float value : sorted) {
                System.out.print(value + "  ");
            }
        }
    
        public static void main(String[] args) {
            for (float aCopy : FORSORT) System.out.print(aCopy + ", ");
    
            MultiSortArrayAndList msort = new MultiSortArrayAndList();
    
    /* 数据量小,比较不出时间 */
    
            // 冒泡排序
            msort.bubbleSort(Arrays.copyOf(FORSORT, FORSORT.length));
            // 快速排序
            long begin = System.nanoTime();
            float[] sorted = msort.quickSort(Arrays.copyOf(FORSORT, FORSORT.length), 0, FORSORT.length - 1);
            System.out.println("\n快速排序, 耗时=======" + (System.nanoTime() - begin) + "纳秒");
            for (float value : sorted) {
                System.out.print(value + "  ");
            }
            // 直接插入
            msort.driectSort(Arrays.copyOf(FORSORT, FORSORT.length));
            // 希尔排序
            msort.shellSort(Arrays.copyOf(FORSORT, FORSORT.length));
            // 折半查找排序
            msort.binaryInsertSort(Arrays.copyOf(FORSORT, FORSORT.length));
    
        }
    }
    
  • 您还可以看一下 吴刚老师的【吴刚大讲堂】电商视觉的排版与应用方法课程中的 订单页面的表单视觉优化及细节处理方法小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    针对问题“如何修复报错的构造方法?”,参考资料提供的是关于线程池和过滤器的内容,与问题本身无关。因此,无法给出具体的解决方案。请提供更准确的问题描述和相关内容,以便能够得到更有效的帮助。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^