java中的抽象类和接口的区别:
相同点
(1) 都可以被继承
(2) 都不能被实例化
(3) 都可以包含方法声明
(4) 派生类必须实现未实现的方法
不同点
1.关键字不同:
① 继承抽象类的关键字是extends,而实现接口的关键字是implements;
②定义抽象类的关键字是abstract class,而定义接口的关键字是interface;
2.权限修饰不同:抽象方法可以有public、protected和default这些修饰符(缺省情况下默认为public),而接口方法只能是public ;
3.抽象类中可以有构造方法,而接口中不能有构造方法;
如果写了构造方法,编译报错:Interfaces cannot have constructors
4.抽象类中既可以有抽象方法也可以有普通方法,接口中只能有抽象方法;
5.抽象类中增加方法可以不影响子类,而接口中增加方法通常都影响子类。
6.抽象类中的变量可以是普通变量,接口里定义的变量只能是公共的静态的常量;
(实际操作中发现定义变量时没写public static final也不会报错,因为接口只能是公共的静态常量的,编译器默认会加上,同理,定义方法时没写public abstract也不会报错)
7.抽象方法可以继承单个类和实现多个接口,接口可以多继承接口;
abstract class Demo{ abstract void printfa();//抽象方法 void printfb();//编译报错,add body void printfb() { //非抽象方法 } } interface Demo1{ void printfab(); void printfa() { //编译报错,因为接口中必须是抽象方法 } default void printfb() { //加上default可以了 } }
线程如何创建,有几种方法?
七种方法
方法1 :继承Thread类,重写run方法,调用 start 方法启动
方法2 :实现Runnable接口,重写run方法,调用 start 方法启动
方法3:匿名内部类 创建Thread 子类对象
方法4:匿名内部类 创建Runnable子类对象
方法5:使用 lambda 表达式 创建Runnable 子类对象
方法6:使用线程池!!! 重点
方法7:使用Callable!!!重点
详细 :Java创建线程的七种方法,你知道几种?_如何创建线程-CSDN博客文章浏览阅读4.3k次,点赞9次,收藏21次。方法1 :继承Thread类方法2 :实现Runnable接口方法3:匿名内部类 创建Thread 子类对象方法4:匿名内部类 创建Runnable子类对象方法5:使用 lambda 表达式 创建Runnable 子类对象方法6:使用线程池!!!重点方法7:使用Callable!!!重点_如何创建线程https://blog.csdn.net/qq_52328493/article/details/127163915?fromshare=blogdetail&sharetype=blogdetail&sharerId=127163915&sharerefer=PC&sharesource=weixin_73775528&sharefrom=from_link
介绍java中的JDBC
JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是 Java中的数据库连接规范。这个API由 java.sql.*,javax.sql.* 包中的一些类和接口组成,它为Java 开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。
流程
JDBC连接步骤: 1.注册驱动 2.获取连接 Connection 3.获取sql语句的执行对象 Statement 4.执行sql语句 返回结果集 ResultSet 5.处理结果集 6.关闭资源