Week4
作者:互联网
周六!!!
任务
- [x] 做题
- [ ] 复习
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