集合
Collection
List
ArrayList
LinkedList
Vector
三者区别?
Set
HashSet
TreeSet
LinkedHashSet
区别?
List和Set的区别?
Map
HashMap
TreeMap
LinkedHashMap
ConcurrentHashMap
HashMap和HashTable区别/
HashMap和ConcurrentHashMap区别
Collections
sort shuffle binarySearch max min indexOfSubList reverse copy rotate swap
rotate(List list,int m)方法的使用(含义:集合中的元素向后移m个位置,在后面被遮盖的元素循环到前面来)。<br><br><br>swap(List list,int i,int j)方法的使用(含义:交换集合中指定元素索引的位置)。 <br>
泛型
不明确的类型默认为Object
类<> 方法<>
出现于1.5
异常Exception
分类
运行时异常:RunTimeException:可以处理可以不处理
编译器异常:Exception及其子类除开RunTimeException:必须处理
常见的五个运行时异常和常见五个编译器异常:
ArrayIndexOutOfBoundsException => 数组索引值超出边界异常<br><br>StringIndexOutOfBoundsException => 字符串索引值超出边界异常<br><br>IndexOutOfBoundsException => (集合)索引值超出边界异常<br><br>NullPointerException => 空指针异常 <br><br>ClassCastException => 类型造型异常<br><br>NumberFormatException => 数字格式异常<br>
1.SQLException :提供有关数据库访问错误或其他错误的信息的异常。<br><br>( 比如SQL语句写错,访问的表不存在,连接数据库失败等等)<br><br>2.IOexception :表示发生了某种I / O异常的信号。此类是由失败或中断的I / O操作产生的一般异常类。<br><br>( 广泛的说,什么时候会有IOException ,比如你文件都不到的时候 ,你在做数据库操作的时候数据库底层出现问题 ,或者你系统IO出问题了 ,系统拿不到文件句柄 ,你说的读着读着突然被删了,你可以试试,书不定真可以 ,你可以看有多少IOExeption个子类,差不多就有多少种类型 )<br><br>3.FileNotFoundException :当试图打开指定路径名表示的文件失败时,抛出此异常。(IOexception的子类)<br><br>( 注意,这里的找不到是在你的编译结果文件夹里面找不到,而不是在你的工程里面找不到,很多同学说自己工程里面有这个文件,为什么还要报这个异常?这个时候,你最好跑到你的编译文件放的文件夹下面,比如tomcat的webapps文件夹下面,找找你的工程对应的文件夹,看看那个里面有没有你的文件)(百度知道)<br><br>4.ClassNotFoundException :找不到具有指定名称的类的定义。<br><br>( 属于编译时异常,是在classloader加载类的时候发现类不存在在类路径的时候报出的。)<br><br>5.EOFException :当输入过程中意外到达文件或流的末尾时,抛出此异常。(IOexception的子类)
处理方式
抛(throw)
捕获 try cache
最终执行 finally
声明异常(throws)
面向对象OOP
类对象
属性
基本数据类型:整型 0 char 空白字符 boolean false 浮点型 0.0 引用数据类型 null
局部变量和成员变量(属性)的区别?)
1.作用域 2.默认值 3.修饰符 4.定义
方法
参数和返回值
有:数据类型 无:void return [数值];
参数
实参:调用方法的时候传入的具体的数据 ,形参:在方法设定的时候的一个参数引用
重载overlord
方法名相同,参数不一致(类型,个数,顺序) ,与访问修饰符以及返回值无关
构造方法和普通方法的区别?
1.名字 2.返回值 3.作用 4.调用
类语法规则
[修饰符] class 类名{ <br> [修饰符] 数据类型 变量名[=初始值];<br> [修饰符] 返回值 方法名([参数列表]){<br> // 具体的功能<br> }<br> [修饰符]构造器] 类名([参数列表]){<br> //初始化数据<br> }<br>}
值传递和引用传递的区别?
OO,OOA,OOD,OOP分别是什么意思?
https://blog.csdn.net/moxiaoya1314/article/details/51899048
修饰符
静态修饰符(static)
属性:所以对象共享属性,可以类名.调用,对象调用
方法:静态方法不能调用非静态的属性和方法,在接口中允许有静态常量方法,类调用和对象调用
最优先:静态代码,只执行一次
final修饰符:最终的
修饰变量:一旦被赋值不能被改变
修饰方法:不能被子类覆盖,是最终的方法,构造器不能用final 修饰
修饰类:不能被继承
访问修饰符
作用域 本类 本包 项目<br>public √ √ √<br>protected √ √<br>default √ √<br>private √<br>
封装
概念:将一个类使用和实现分开,提供可访问接口
属性封装:将属性私有化,提供访问的接口(提供getter setter方法)
对构造器的封装:把构造器私有化,提供一个公共静态的方法访问构造器--------单例模式
继承
概念:当前的类派生出新的类,新的类可以接受已有的类的数据,并且可以扩展新的数据
extends
子类的创建过程
先调用对应的父类构造器,在创建父类对象,然后在调用自己的构造器,最后将子类和父类关联起来
继承访问范围(访问修饰符有关)
访问范围 本包 不同包<br>public √ √<br>protected √ √<br>default √ <br>private
覆盖(重写override)
为什么发生?
父类方法不满子类需求,对该方法进行重新定义,称为覆盖
条件?
1.访问修饰符的作用域不能低于父类 2.参数列表,方法名必须相同 3.返回值类型必须小于父类范围
静态 构造器 父类 属性 加载过程
静态<父类属性<父类构造器<子类属性<子类构造器
多态
多态分类
静态多态:方法的重载
动态多态方法的重写
向上转型:子类的对指向父类的引用 Super a=new Sub();
向下转型
子类对象由原来的父类类型,强制转换为自己原来的子类类型---Sub s= (Sub) a
抽象类 abstract
概念
该类中有不能明确的方法的实现的时候,该类就是抽象类
抽象方法的定义
当不知道一个方法具体实现,这个方法用abstract修饰,那该方法为抽象方法;抽象方法没有方法体<br>public abstract void method();
抽象类注意事项
1.抽象类不能直接实例化<br>2.抽象类可以包含抽象方法,也可以不包含,如果一个类中有抽象方法,那么这个类一定是抽象类<br>3.抽象类的子类必须实现抽象类所有抽象方法(子类不是一个抽象类)<br>4.抽象方法的修饰符必须子类可以被访问的
接口interface
属性:静态常量
方法:公共的抽象方法
注意事项
1.接口与接口之间可以多继承<br>2.接口与类之间可以多实现implements<br>
abstract class 和interface 的区别?
1.abstr class interface<br>2.属性的修饰符<br>3.方法不同<br><ul><li>4.不能直接实例化,然后必须由实现类实现</li></ul>
内部类
1.成员内部类<br>2.局部内部类<br>3.静态内部类<br>4.匿名内部类
JDBC
连接步骤:1.加载驱动2.创建连接对象3.创建执行对象4.执行sql并获得结果集5.处理结果集6.释放资源
参数:diver:com.mysql.jdbc.Diver url:jdbc:mysql://ip(localhost,127.0.0.1):3306/数据库名 username password
线程
线程的实现方式:常见的三种:
继承Thread,实现:Runnable或者Callable
线程的生命周期:1.实例化2.就绪3.运行4.阻塞5.死亡
并发:
阻塞: 1.join 2.sleep 3.yield 4.wait
启动线程是哪个方法?
callable和Runnable的区别?
同步(synchronized):同步方法,同步代码块
死锁:线程之间相互阻塞,都需要对方的资源.
常用类
数字Number
格式化类:1.SimpleDateFormat -y-M-d h:m:s E 2.DecimalFormat 0 # . , %
StringBuffer
构造器:StringBuffer() StringBuffer(String str)
方法
append,insert,replace,substring,delete,setCharAt
<span style="font-size: inherit;">StringBuilderr</span><br>
String和StringBuffer以及StringBuilder区别?
String(String str)这里创建了几个对象?
包装类:基本数据类型对应的包装类:double Double int- char-
intValue() doubleValue()
拆箱装箱:基本数据类型和包装类之间的转换
java基础
数组
多维数组
数组的元素是数组类型,那么这个数组是一个多维数组
循环:[x][y]
循环
for
do while
while
do while 和while区别?
break 和continue的区别?
选择结构
if else
switch注意事项
1.在一定需求下加入break<br>2.default case 里面只与表达式不符,就执行default<br>3.case 的数值 只能是 byte,short,int,char 枚举 String<br>4.case 的数值不能重复
运算符
算数运算符,关系运算符,逻辑运算符,赋值运算符,条件运算符,位运算符
数据类型
基本数据类型
整型:字节型,短整型,整型,长整型<br>浮点型:单精度 双精度<br>字符型<br>布尔型
变量定义
数据类型 变量名[=数值];
标识符
概念:java中所有可以骑的名字,例如:类名,文件名,变量名,方法名......
规则
1.不能数字开头<br>2.不能是关键字<br>3.严格区分大小写
类名规则,变量名,方法名......
关键字:
概念:在java中有特殊含义的单词,全小写
学了那些关键字了:
4+4+2+1+1+1+8+2+2+1+2+1+4+1+3 go const
命令行:<br>
查看目录 dir+目录<br>去到具体位置 cd+目录<br>返回上一层 cd..<br>返回根目录 cd\<br>清屏 cls<br>查看之前的命令 上下箭头<br>以树行显示进程 tlist -t<br>退出 exit<br>创建目录 madir