欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JAVASE笔记20210105

程序员文章站 2022-07-10 17:27:11
1、接口(1)面向接口编程(2)什么是接口:接口是特殊的抽象类,接口中全部都是抽象方法(3)接口的定义公式:(interface)[访问修饰符] interface 接口名{//抽象方法 + 常量}备注:访问修饰符 一般都用:public、default(4)如何实现接口:implementspublic class 子类 implements 接口1,接口2,...{//-重写接口中所有的抽象方法}(5)接...

1、接口

(1)面向接口编程
(2)什么是接口:接口是特殊的抽象类,接口中全部都是抽象方法
(3)接口的定义公式:(interface)

[访问修饰符] interface 接口名{
//抽象方法 + 常量
}

      备注:访问修饰符 一般都用:public、default
(4)如何实现接口:implements

public class 子类 implements 接口1,接口2,...{
//-重写接口中所有的抽象方法
}

(5)接口支持多实现,弥补类单继承的缺点
(6)接口中只能包含两部分:
      ①抽象方法
            1)Abstract关键字可以省略
      ②静态常量
            1)Public static final 可以省略
(7)接口中没有构造方法
(8)接口可以继承接口,类可以实现接口,类可以继承类
(9)接口不能直接被实例化,想使用接口,只能通过子类进行实现
(10)案例:
JAVASE笔记20210105

2、接口 与 抽象类 的区别

(1)抽象类中可以有抽象方法 和 非抽象方法,而接口中只能有抽象方法
(2)抽象类中有构造方法,而接口中没有构造方法
(3)接口与接口之间是多继承,类与类之间是单继承
(4)接口中只能有 抽象方法 和 常量,类中包含的内容比较多

3、String

(1)String字符串类型,属于引用数据类型
(2)Java中字符串是用双引号引起来
(3)Java中字符串是存储在JVM的方法区的字符串常量池中
      ①为什么存储在字符串常量池中,因为字符串在开发中使用频率最高
(4)案例:==》分析字符串在内存中如何存储
JAVASE笔记20210105
JAVASE笔记20210105
(此处str_1指向的应该是“abc”,str_2指向的应该是"bcd")
(5)字符串常见面试题(3个对象:new两个对象,hello一个对象)
JAVASE笔记20210105

4、StringBuffer

(1)问题:String字符串拼接或链接时,会大量浪费内存空间
(2)StringBuffer类似于String的字符串缓冲区
(3)StringBuffer 会默认创建字符数组,默认长度16,当追加的内容超出16的长度,则StringBuffer会自动扩容
(4)StringBuffer 追加内容:append()
(5)StringBuffer 是线程安全的,可以进行多线程使用

5、StringBuilder

(1)操作和StringBuffer都一样
(2)不同的是:
      ①StringBuffer是线程安全的
      ②StringBuilder是线程不安全的

6、包装类、自动拆装箱

(1)基本数据类型与引用数据类型之间的转换
(2)在泛型中不能使用基本数据类型,必须使用基本数据类型的包装类
(3)整理:
      ①byte      java.lang.Byte
      ②short      java.lang.Short
      ③int          java.lang.Integer
      ④long      java.lang.Long
      ⑤float      java.lang.Float
      ⑥double      java.lang.Double
      ⑦boolean      java.lang.Boolean
      ⑧char      java.lang.Character

7、常用类

(1)日期类型
(2)日期格式
(3)数字格式化
(4)随机数
(5)等

8、异常

(1)什么是异常
(2)异常的作用:增强程序的健壮性
(3)处理异常的方式
      ①捕获异常
      ②抛出异常
      ③自定义异常
(4)异常的结构(分类)
JAVASE笔记20210105
(5)异常处理方式=》异常捕获:(在方法中使用)
定义公式:

try{
//-有可能出现异常的代码块
}catch(异常的类型){
//-出现异常的处理方式
}finally{
//-最终、最后都要被执行的
// 资源释放、流的关闭
}

(6)异常对象的常用方法:例如:exception
      ①getMessage()
            1)获取错误信息的简单描述
      ②printStackTrace()
            1)打印异常追踪的堆栈信息
(7)异常处理方式=》throws
      ①throws 用到方法上
      ②作用:将 方法中有可能出现的异常,进行抛出
(8)异常处理方式=》throw (用在方法体内)
      ①抛出异常对象,可以是自定义的异常对象,也可以是jdk提供的异常对象
            1)例如:throw new Exception();
      ②异常也是类,也可以生成对象
(9)自定义异常(较少使用)
      ①创建类,类需要继承Throwable 或者 Exception
      ②重写有参的构造方法
            1)重写message 提示信息

9、集合

(1)什么是集合
      ①集合理解为容器,存储数据的容器
      ②数组可以理解为集合
(2)为什么有数组,还需要集合?
(3)集合中不能存储基本数据类型
(4)集合中存储的是对象或数据的引用
(5)Java集合的分类:
      ①Collection:线性集合
      ②Map:非线性集合
(6)Collection 继承结构图
JAVASE笔记20210105
(7)Map 继承结构图
JAVASE笔记20210105

10、Collection接口

(1)集合:与泛型结合使用
(2)作用:数据的载体
(3)Collection如何使用?
      ①Collection接口,是一个其实现类(ArrayList)
      ②Collection c = new ArrayList();
(4)Collection接口中常用的方法:
      ①boolean add(E e)
      ②int size()
      ③void clear()
      ④boolean remove(Object o)
      ⑤Object[] toArray()
      ⑥boolean isEmpty()
      ⑦boolean contains(Object o)
      ⑧Iterator iterator() =>遍历(可以使用 foreach)
案例:
JAVASE笔记20210105

11、List接口

(1)List集合存储元素特点:有序、可以重复
      ①有序:list集合中的元素是有下标,下标从0开始,以1递增
      ②可以重复:集合中可以存储重复的数据
(2)List是collection子接口,list会有自己“特有”的方法
      ①void add(int index,E element)
      ②E get(int index)
      ③int lastIndexOf(Object o)
      ④E remove(int index)
      ⑤E set(int index,E element)
      ⑥Iterator iterator()
(3)注意:
      ①remove(1) 指的的删除下标为1的数据,如果删除集合中数值1的内容,应该:remove(new Integer(1))
(4)List:遍历方式
      ①For
      ②Foreach
      ③iterator
(5)案例
JAVASE笔记20210105
(6)ArrayList 集合:List 子类
      ①ArrayList默认创建的集合容量 10
(7)LinkedList 单向链表
      ①特有方法
            1)void addFirst(E e)
            2)void addLast(E e)
            3)等
      ②实现原理
JAVASE笔记20210105

12、Set集合

(1)特点:无序唯一
(2)主要方法的使用
      ①与collection接口里的方法类似
(3)Set遍历方式
      ①Foreach
      ②Iterator
(4)HashSet、TreeSet
(5)Set里面存储的数据唯一,如何判断存储数据的唯一?
      ①String类型 与 基本数据类型,自动判断
            1)String类重写了 equals与hashcode方法
      ②自定义数据类型如何判断数据的唯一?
            1)自定义数据类型,必须重写equals 与 hashCode方法
                  a.要求:如果两个对象相同,则equals返回true,否则返回false
                  b.要求:如果两个对象相同,则hashCode返回的数据相等
(6)案例:
JAVASE笔记20210105

本文地址:https://blog.csdn.net/yishangbing/article/details/112252452

相关标签: JAVASE