- 博客(22)
- 收藏
- 关注
原创 Java第八讲
Java第八讲1. FutureTask类有什么作用?它实现了哪些接口? 作用:一个可取消的异步计算。 FutureTask类可以调用方法去开始和取消一个计算,可以查询计算是否完成并且获取计算结果。只有当计算完成时才能获取到计算结果,一旦计算完成,计算将不能被重启或者被取消,除非调用runAndReset方法。 FutureTask类实现了Runnable、Future和RunnableFuture接口。2. Callable接口和Runnable接口有什么不同? (1)Callable接
2021-11-18 15:38:19 195
原创 Java第七讲
Java第七讲1. 简述String,StringBuffer,StringBuilder三者的异同点,应该分别在何种场景下使用? 共同点:三者都是字符串类型,它们可以储存和操作字符串。 不同点:(1)String对象是不可变的,String类是用final修饰的,内容不能被引用的字符串改变,每次对String对象进行改变的过程都等价于创建一个新对象,然后指向新对象,不仅效率低下,而且浪费有限的内存空间。而StringBuffer和StringBuilder表示的字符串对象可以直接进行修改,其对象
2021-11-18 14:36:39 98
原创 Java第六讲
Java第六讲1. Throwable的子类包含哪两类?简述两者的区别。 Error类和Exception类。 区别:Error是所有错误类的祖先类,Exception是所有异常类的祖先类。Error不是程序需要捕获和进行处理的,当Error发生时,程序将会停止。Exception是程序正常运行中可以预料的意外情况,可以进行相应的处理。2. 简述checked异常和unchecked异常的区别。 unckecked异常:继承Error类或RuntimeException类,可以理解为运行时
2021-11-18 10:56:48 311
原创 Java第五讲
Java第五讲1. 如何实现两个对象之间互发消息? 通过对象引用的方法,创建两个类,两个类中都包含另一个类的成员。2. 谈谈组合与继承的区别以及两者的使用场景。 区别:组合与继承都是面向对象中代码复用的方式。继承中父类的内部细节对子类可见,而组合中对象之间的内部细节不可见。子类只能继承一个父类,而一个类可以与多个类进行组合,且无上下级关系。 使用场景:当只需要调用其他类的方法时用组合,当需要在一个类的基础上增加其他功能用继承。3. Java中的运行时多态的含义是什么? 运行时多态:
2021-11-18 09:25:27 371
原创 Java第四讲
Java第四讲1. Java的访问控制修饰符有哪些?各有什么访问权限?|访问修饰符|相同类|相同包|不同包子类|不同包非子类||public||protected||private|public:能被相同项目所有包所有类访问protected:能被相同包所有类和不同包子类访问private:只能被相同类访问2. 子类对于父类继承的哪些属性与方法是可见的? 具有public或protected声明。
2021-11-17 09:23:15 421
原创 Java第三讲
Java第三讲1. 对象与对象引用的区别是什么? 对象是类的实例,对象引用是对象的名片,保留了对象的地址,类似于C++的指针。 若人类是一个类,实例化出一个具体的人是对象,给这个人起名字,这个名字就是对象引用。2. 对象作为参数传递的特点是什么? 对象是引用传递,当对象作为参数传递时,传递的是对象的地址。3. 对象初始化顺序是怎样的? (1)父类静态成员变量(静态代码块) (2)子类静态成员变量(静态代码块) (3)父类普通成员变量 (4)父类构造函数
2021-11-15 19:05:48 239
原创 Java第二讲
Java第二讲1. Java包含哪两大类数据类型?其中基本类型的每种类型的取值范围和默认值分别是多少?基本数据类型和引用数据类型。|基本数据类型|取值范围|默认值||-|-|-||byte|(-2e7,2e7-1)|0|short|(--2e15,2e15-1)|0|int|(-2e31,2e31-1)|0|long|(-2e63,2e63-1)|0|float|(1.4e-45,3.4e38)|0.0f|double|(4.9e-324,1.7e308)|0.0d|char
2021-11-15 15:39:25 565
原创 Java可变参数
Java可变参数1. 可变参数作为方法的形参出现,则该方法参数个数可变2. 演示: public class Main { public static void main(String[] args) { System.out.println(sum(10)); System.out.println(sum(10,20)); } public static int sum(int... a) { int sum = 0; for(int i : a) {
2021-10-28 08:37:44 94
原创 Java泛型
Java泛型1. 泛型的本质是参数化类型,就是将类型由原来具体的类型参数化,然后在调用时传入具体类型2. 泛型类: public class Student<T> {//定义泛型类 private T t; public void setT(T t) { this.t = t; } public T getT { return t; } } public class Main { public static void main(String[] args) {
2021-10-28 08:22:55 100
原创 Java排序接口
Java排序接口Comparable接口1. 特点:自然排序,让元素对应的类实现Comparable接口,重写compareTo(T t)方法2. 用法: public class Student implements Comparable<Student> { @Override public int compareTo(Student s) { return 1;//按存储顺序排序 //return -1; 按存储顺序的逆序排序 } }public class St
2021-10-25 20:50:51 228
原创 Set接口
Set接口1. List接口和Set接口的异同点: List接口: 能包含重复元素,有带索引的方法能使用普通for循环遍历 Set接口: 不能包含重复元素,没有带索引的方法不能使用普通for循环遍历 相同点:都继承了Collection接口2. Set接口的实现类: HashSet类:底层数据结构是哈希表,不保证存储和取出元素的顺序一致 LinkedHashSet类:继承HashSet类,底层数据结构是哈希表和链表,存储和取出元素的顺序一致 TreeSet类:排序方式取决于构造方法
2021-10-24 17:10:47 95
原创 LinkedList类
LinkedList类1. 特点:实现一个链表,由此类定义的链表也可以像栈或队列一样被使用,实现了Collection和List接口2. ArrayList类和LinkedList类的区别: ArrayList类:底层数据结构是数组,查询快,增删慢 LinkedList类:底层数据结构是链表,查询慢,增删快3. 创建LinkedList类的对象: LinkedList<String> linkedlist = new LinkedList<String>();
2021-10-24 16:41:19 320
原创 并发修改异常
并发修改异常1. 异常类型:ConcurrentModificationException,继承RuntimeException2. 产生原因:迭代器遍历过程中修改了集合元素的个数,导致迭代器预期修改值和实际修改值不一致ArrayList<String> arr = new ArrayList<String>();arr.add("纱雾");Iterator<String> it = arr.iterator();while(it.hasNext()) {String s = it.next(
2021-10-24 16:08:18 73
原创 遍历集合的方式
遍历集合的方式1. 普通for循环: ArrayList<String> arr = new ArrayList<String>(); arr.add("纱雾"); for(int i = 0; i < arr.size(); i++) { String s = arr.get(i); System.out.println(s); }2. 迭代器: ArrayList<String> arr = new ArrayList<String>();
2021-10-22 20:56:04 90
原创 ArrayList类
ArrayList类1. 特点:规模可变并且能像链表一样被访问,实现了Collection和List接口2. 创建ArrayList类对象: ArrayList<String> arr = new ArrayList<String>;3. ArrayList类的常用方法: //实现Collection接口的方法: arr.add("纱雾");//将指定元素添加到集合末端 arr.remove("纱雾");//删除指定元素并返回是否删除成功 arr.clear();//
2021-10-22 00:23:38 101
原创 Java多线程
多线程进程和线程1. 进程:执行中的程序2. 线程:程序执行中的单个顺序流程3. 多线程:一个进程中可以同时运行多个不同的线程Thread类1. Thread类是具有多线程功能的类,实现了Runnable接口(一般作为父类派生子类)。2. Thread类的常用方法: thread.run();//执行该线程的内容但未启动线程,相当于调用普通方法,一般派生子类时重写 thread.start();//启动该线程,调用run方法 thread.setName(
2021-10-16 23:49:23 124
原创 Collections类
Collections类1. Collections类是针对集合操作的工具类2. Collections类的常用方法(可以不用实现类的对象直接调用):Collections.sort(list);//将指定列表按升序排序Collections.reverse(list);//反转指定列表中元素的顺序Collections.shuffle(list);//将指定列表随机排序
2021-10-11 23:45:23 93
原创 Map接口
Map接口 1. 定义:Interface Map<K,V> K:键的类型 V:值的类型 (不能包含重复的键,每个键最多对应一个值) Map<String,String> map = new HashMap<String,String>;//创建集合2. Map接口的实现类:Hashtable,HashMap,TreeMap 3. Map接口的常用方法: map.put("011", "纱雾");//添加元素(键重复时替换值)
2021-10-10 17:00:15 156 1
原创 Java第一讲
1.谈谈你过去学习编程语言的方法、经验和教训。我过去学习编程语言的方法主要是边看书边看视频,总结的经验就是要多做笔记,做得不足的地方有未及时将学到的知识用代码实现,没有定期总结自己一段时间的收获。2.高级语言的编译型和解释型语言的编译执行过程有什么区别?编译型语言是在代码执行前对所有代码进行编译,生成中间文件,然后再执行程序,不能跨平台。解释型语言是在运行过程中进行解释并立即执行,可以跨平台。3.Java语言都有哪些特点?与C,C++,Python有何不同?Java是一门动态的,解释型的
2021-09-16 00:18:45 113
原创 初学Java
初学Java知识点:1. 常量用保留字final来实现: final int NUM = 100;2. JAVA不允许将数字值转换成布尔值。3. 两个整数类型的数据做除法时,结果只保留整数部分。但若其中有一个为浮点数,则最终结果为浮点数。4. 自增和自减运算符只适用于变量。5. case子句中的值必须是常量。6. 带标号的break语句用在循环语句中,必须在外循环入口语句的前方写上标号,可以使程序流程退出标号所指明的外循环。
2021-04-14 20:23:49 114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人