• java基础


    1、方法重载和方法重写的区别

      比较点 重载 重写
    1 单词 Overload Override
    2 方法的声明 方法名相同,参数列表不同 方法名相同,参数列表相同
    3 返回值 没有要求 返回值必须相同或者子类
    4 访问权限 没有要求 比父类大
    5 异常范围 没有要求 比父类小或者与父类相同
    6 范围 同一个类中 继承关系中

    2、在别人博客看到一篇文章,说写一个方法:指定一个整数n,返回一组随机数,包含0--( n-1),不能重复。

    评论里有人收用Set可以直接返回,因为HashSet存的元素是无序的,觉得想法有新意。

    但是还是验证了下:

        public static void getRandomList(int len) {
            Set set = new HashSet();
            for (int i = 0; i < len; i++) {
                set.add(i);
            }
    
            Iterator iterator = set.iterator();
            while (iterator.hasNext()) {
                System.out.println(iterator.next());
    
            }
    
        }
    

    发现传入10,100,1000...都是顺序返回,后来传入1000,000 发现总体是递增的,局部有乱序。

    HashSet是不保证有序,但不是保证无序,这是有区别的。

    评论下其他的方法:

        public static void getRandomList(int len) {
            List list = new ArrayList(len);
            List list2 = new ArrayList(len);
            for (int i = 0; i < len; i++) {
                list.add(i);
            }
            Random r = new Random();
    
            while (list.size() > 0) {
                list2.add(list.remove(r.nextInt(list.size())));
            }
    
            System.out.println(list2);
        }
    

    2、代码执行顺序

    public class Pa {
        public static void static_method() {
            System.out.println("Pa:static_method");
        }
    
        static {
            System.out.println("Pa:static_area");
        }
    
        {
            System.out.println("Pa:normal_area");
        }
    
        public Pa() {
            System.out.println("Pa:constructor");
        }
    
    }
    
    public class A extends Pa {
    
        public static void static_method() {
            System.out.println("A:static_method");
        }
    
        static {
            System.out.println("A:static_area");
        }
    
        {
            System.out.println("A:normal_area");
        }
    
        public A() {
            System.out.println("A:constructor");
        }
    }
    
        public static void main(String[] args) {
            A a = new A();
    
        }
    

     结果:

    Pa:static_area
    A:static_area
    Pa:normal_area
    Pa:constructor
    A:normal_area
    A:constructor
    
  • 相关阅读:
    ABAP Webdynpro Interface View的用法
    ABAP Webdynpro的跟踪工具WD_TRACE_TOOL
    git 速查
    Python 解析含有命名空间(xmlns)的xml文件(基于ElementTree)
    完全显示DataFrame中行、列内容
    解决Jupyter Notebook中for循环输出DataFrame不够美观
    git配置别名
    元素可拖拽(移动端与pc端)
    pointer network和recursive神经网络
    ELMO,BERT和GPT简介
  • 原文地址:https://www.cnblogs.com/lanqie/p/7636844.html
Copyright © 2020-2023  润新知