其他分享
首页 > 其他分享> > Week4

Week4

作者:互联网

周六!!!

任务

1.简述覆盖equals方法的过程

判断对象是否为空

判断对象是否是当前对象

判断当前对象那个和比较对象是否是同种类型

2.静态的特点?

静态方法可以直接访问本类中的静态成员

静态方法不可以直接访问本类中非静态成员

静态方法不可以使用this或super关键字

静态方法可以继承,不可以重写,没有多态

3.类与对象的关系?

类是模板,是对一类抽象事物的描述

对象是客观事物的抽象,万物皆对象

对象是类的实例化,具体化;类是对象的抽象,描述了一组相同特性行为的对象

4.方法重写与方法重载的区别

重载:方法名相同,参数列表不同,与返回值类型无关,发生在一个类中

重写:发生在继承关系中,父类满足不了子类需求,子类继承父类,对父类覆盖,重写父类方法。要求方法名,参数列表,返回值必须一致,访问权限符不能低于父类

5.内部类的特点以及内部类分类?

特点:编译之后生成独立的字节码文件、可以直接访问外部类成员、可以为外部类提供必要的内部组件

分类:成员内部类、静态内部类、局部内部类、匿名内部类

6.List接口有哪些实现类,实现原理及特点分别是什么?

ArrayList:底层是数组,增删慢,查询快 线程不安全

LinkedList:底层是双向链表,增删快,查询慢 线程不安全

Vector:底层是数组,增删慢,查询快,加了同步锁,线程安全

7.HashMap 去重原理及TreeMap去重原理?

  • HashMap 去重原理

重写hashCode和equals方法。首先调用hashCode()方法得到哈希值,哈希值通过运算后确定该元素在链表中的存储位置,如果为空,就插入添加,如果不为空,调用equals()方法比较是否为同一值,是同一值将其覆盖

  • TreeMap去重原理

实现comparable接口,或通过匿名内部类comparator重写方法自定义去重规则,根据compareTo方法返回0作为重复一句

8.创建线程有几种方式分别是?

  • 通过继承Thread类
  • 通过实现Runnable接口
  • 通过线程池创建线程

practice10还未完成...

周天写了道js的题

/*
定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;
然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。试编程。
*/
//1、采用count计数
var arr = [];
var newArr = [];
//计数
var count = 0;
//求和
var sum = 0;
for (var i = 2; i <= 60; i += 2) {
    //如果是偶数
    if (i % 2 === 0) {
        //count代表下标,依次往数组中放入偶数
        arr[count] = i;
        //求和
        sum += arr[count];
        //每求和完成后,count++
        count++;
        //if判断,每隔五个数执行如下操作
        if (count % 5 == 0) {
            //执行操作:求出平均值,将其放入新数组
            newArr.push(sum / 5);
            //将sum置为0,返回再次循环
            sum = 0;
        }
    }
}
//分别打印原数组和新数组
console.log(arr)
console.log(newArr)

//2、普通方法
/*
var arr = [];
var newArr = [];
var sum = 0;
for(var i = 0; i < 30; i++){
    // 将偶数依次存入数组中
    arr[i] = (i + 1) * 2;
    //求和
    sum+= arr[i];
    //判断:每五个一打印(因为下标i从0开始)
    if(i % 5 == 4){
        //将平均值放入新数组
        newArr.push(sum / 5);
        //sum置为0
        sum = 0;
    }            
}
//分别打印原数组和每五个一组求完平均值的数组
console.log(arr)
console.log(newArr)
*/

标签:对象,方法,线程,var,父类,重写,Week4
来源: https://www.cnblogs.com/xy-0709/p/15116996.html