![](https://img-blog.csdnimg.cn/20201122134402457.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 92
本栏为JavaSE基础学习
<一蓑烟雨任平生>
没成功之前才华等于狗屎,只有成功了才证明你的一切!
展开
-
Java集合面试经典50问
目录(1)Arraylist与LinkedList区别(2)Collections.sort和Arrays.sort的实现原理(3)HashMap原理,java8做了什么改变(4)List 和 Set,Map 的区别(5)poll()方法和 remove()方法的区别?(6)HashMap,HashTable,ConcurrentHash的共同点和区别(7)写一段代码在遍历 ArrayList 时移除一个元素(8)Java中怎么打印数组?(9)TreeMap底层?(10)HashMap 的扩容过程(11)H转载 2021-05-22 22:39:58 · 10915 阅读 · 38 评论 -
Java SE面试题集合
1.JDK 和 JRE 有什么区别?JDK:Java 开发工具包, 提供了 Java 的开发环境和运行环境。JRE:Java 运行环境, 为 Java 的运行提供了所需环境。2.== 和 equals 的区别是什么?==运算符比较的是两个引用是否指向相同的对象(即同一内存空间),也就是说在内存空间中的存储位置是否一致。equals是判断两个变量或者实例指向同一个内存空间的值是不是相同3. 两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗?不对, 两原创 2021-03-29 15:14:44 · 572 阅读 · 5 评论 -
Java代码格式注意事项
在进行Java开发时,代码格式是非常重要的一部分,代码格式的规范有助于复用和后期的维护,以下我归纳一些Java代码格式的注意事项。1:大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果 是非空代码块则:1) 左大括号前不换行。2) 左大括号后换行。3) 右大括号前换行。4) 右大括号后还有 else 等代码则不换行 表示终止的右大括号后必须换行。2:左小括号和...原创 2020-04-02 15:12:50 · 504 阅读 · 0 评论 -
Java常量定义注意事项
常量事实上是那些内容不能被修改的变量,常量与变量类似也需要初始化,即在声明常量的同时要赋 予一个初始值。常量一旦初始化就不可以被修改。它的声明格式为:final 数据类型 变量名 = 初始值;final关键字表示最终的,它可以修改很多元素,修饰变量就变成了常量。在Java常量定义也需要注意以下的常见问题:1:不允许任何魔法值(即未经预先定义的常量)直接出现在代码中。反例:String ...原创 2020-04-01 22:54:14 · 525 阅读 · 0 评论 -
Java命名注意事项
俗话说:“没有规矩不成方圆”。编程工作往往都是一个团队协同进行,因而一致的编码规范非常有必 要,这样写成的代码便于团队中的其他人员阅读,也便于编写者自己以后阅读。下面我将列举一些在编程中的命名注意事项。此篇文章参考《码出高效》–阿里巴巴Java开发手册1.4.0。1:代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束反例:_name / name / name/name/...原创 2020-04-01 22:36:10 · 398 阅读 · 0 评论 -
Java中的枚举类
目录最简单形式的枚举类枚举类中成员变量和成员方法枚举类构造方法枚举常用方法Java中是使用enum关键词声明枚举类,具体定义放在一对大括号内,枚 举的语法格式如下:[public] enum 枚举名 { 枚举常量列表 }enum前面的修饰符是[public]表示public或省略。public是公有访问级别,可以在任何地方访问。省略是 默认访问级别,只能在当前包中访问。最简单形式的...原创 2020-04-06 17:05:07 · 265 阅读 · 0 评论 -
Java抽象类与接口详解(小白必看)
目录抽象类接口接口与多继承接口单继承Java 8新特性默认方法和静态方法抽象类与接口区别抽象类抽象类:用abstract修饰的类叫做抽象类。在讲抽象类之前有必要强调一下abstract修饰符:abstract修饰的类为抽象类,此类不能有对象,(无法对此类进行实例化,说白了就是不能new);abstract修饰的方法为抽象方法,此方法不能有方法体(就是什么内容不能有);抽象类的示例代...原创 2020-04-06 16:23:31 · 1980 阅读 · 0 评论 -
浅谈Java中的多态性
在面向对象程序设计中多态是一个非常重要的特性,理解多态有利于进行面向对象的分析与设计。发生多态要有三个前提条件:继承。多态发生一定要子类和父类之间。覆盖。子类覆盖了父类的方法。声明的变量类型是父类类型,但实例则指向子类实例。如图所示,父类Figure(几何图形)类有一个onDraw(绘图) 方法,Figure(几何图形)它有两个子类Ellipse(椭圆形)和Triangle(三角形)...原创 2020-04-06 13:47:06 · 216 阅读 · 0 评论 -
Java方法重载与方法重写的区别
方法的重载重载(overload):在同一个类中,声明多个同名方法,通过参数列表来区分不同的方法(参数列表的数量,类型、顺序)示例代码:public class Demo { private String name; private int age; public static void main(String[] args) { Demo demo=new Demo(); ...原创 2020-04-06 13:18:02 · 243 阅读 · 0 评论 -
Java中this与super关键字详解
this关键字this关键字,this指向对象本身,一个类可以通过this来获得一个代表它自身的对象变 量。this使用在如下三种情况中:调用实例变量。调用实例方法。调用其他构造方法。使用this变量的示例代码:public class Person { // 名字 private String name; // 年龄 private int age; // ...原创 2020-04-06 12:15:17 · 721 阅读 · 0 评论 -
轻松理解Java构造方法
在之前学习字符串的时候,会见过这样一行代码:String name = new String("HelloWorld")其中String(“Hello World”)是调用构造方法。构造方法 是类中特殊方法,用来初始化类的实例变量,这个就是构造方法,它在创建对象(new运算符)之后 自动调用。Java构造方法的特点:构造方法名必须与类名相同。构造方法没有任何返回值,包括void。构...原创 2020-04-06 00:08:53 · 128 阅读 · 0 评论 -
Java中的空对象
一个引用变量没有通过new分配内存空间,这个对象就是空对象,Java使用关键字null表示空对象。示例代码如下:String name = null; name = "Hello World";引用变量默认值是null。当试图调用一个空对象的实例变量或实例方法时,会抛出空指针异常 NullPointerException,如下代码所示:String name = null; //输出...原创 2020-04-05 22:58:33 · 2192 阅读 · 0 评论 -
Java中static关键字详解
目录static关键字特点成员变量和静态变量的区别静态使用时需要注意的事项static关键字的基本用法1.static修饰成员变量2.static修饰成员方法3.static 修饰代码块4.static内部类static关键字特点static是一个修饰符,用于修饰成员。(成员变量,成员函数)static修饰的成员变量 称之为静态变量或类变量。static修饰的成员被所有的对象共享。sta...原创 2020-04-05 18:30:21 · 148 阅读 · 0 评论 -
Java中final关键字详解
在Java中final关键字的作用还有很多,final关 键字能修饰变量、方法和类。目录final修饰变量final修饰类final修饰方法final修饰变量final修饰的变量即成为常量,只能赋值一次,但是final所修饰局部变量和成员变量有所不同。final修饰的局部变量必须使用之前被赋值一次才能使用。final修饰的成员变量在声明时没有赋值的叫“空白final变量”。空白fina...原创 2020-04-05 00:19:20 · 182 阅读 · 0 评论 -
Java访问权限控制符详解
Java面向对象的封装性是通过对成员变量和方法进行访问控制实现的,访问控制分为4个等级:私有、 默认、保护和公有私有级别私有级别的关键字是private,私有级别的成员变量和方法只能在其所在类的内部自由使用,在其他的 类中则不允许直接访问。私有级别限制性最高。保护级别保护级别的关键字是protected,保护级别在同一包中完全与默认访问级别一样,但是不同包中子类能 够继承父类中的prot...原创 2020-04-04 16:02:00 · 837 阅读 · 0 评论 -
浅谈Java面向对象
Java的面向对象这里对于初学者来说无疑是一大挑战,从基本的概念到实际操作,上手都不是很容易,在看了很多官方概念资料之后,自己对面向对象更是糊涂。那么这篇文章就有助于你理解什么是面向对象。目录一、面向对象思想二、类与对象的关系三、类成员变量成员方法一、面向对象思想从基本的概念来看:面向对象(Object Oriented)是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradig...原创 2020-04-04 15:28:27 · 228 阅读 · 0 评论 -
你对Java字符串了解多少?
目录一、Java中的字符串二、不可变字符串(1)String(2)字符串池(3)字符串拼接(4)字符串查找(5)字符串比较比较相等比较大小比较前缀和后缀(6)字符串截取三、可变字符串(1)StringBuffer和StringBuilder(2)字符串追加(3)字符串插入、删除和替换一、Java中的字符串Java中的字符串是由双引号括起来的多个字符,下面示例都是表示字符串常量:"Hello ...原创 2020-04-03 22:40:43 · 209 阅读 · 0 评论 -
一文读懂什么是Java数组
目录一维数组1.数组声明2.数组初始化(1)静态初始化(2)动态初始化3.案例:数组合并多维数组1.二维数组声明2.二维数组的初始化(1)静态初始化(2)动态初始化3.案例:计算二维数组平方根4.不规则数组在计算机语言中数组是非常重要的集合类型,大部分计算机语言中数组具有如下三个基本特性:一致性:数组只能保存相同数据类型元素,元素的数据类型可以是任何相同的数据类型。有序性:数组中的元素是有...原创 2020-04-03 15:30:33 · 234 阅读 · 0 评论 -
Java控制语句
目录一、分支语句if 语句switch结构二、循环语句while语句do-while语句for语句for-each语句三、跳转语句break语句continue语句程序设计中的控制语句有三种,即顺序、分支和循环语句。Java程序通过控制语句来管理程序流,完 成一定的任务。程序流是由若干个语句组成的,语句可以是一条单一的语句,也可以是一个用大括号 ({})括起来的复合语句。Java中的控制语句有...原创 2020-04-02 22:29:16 · 237 阅读 · 0 评论 -
Java运算符详解
目录一、算数运算符一元运算符二元运算符算术赋值运算符二、关系运算符三、逻辑运算符四、位运算符五、其他运算符六、运算符优先级一、算数运算符一元运算符算术一元运算符一共有3个,分别是-、++和–。示例代码如下:int a = 12; //是把a变量取反System.out.println(-a); //先把a赋值给b变量再加一,即先 赋值后++int b = a++; Syste...原创 2020-04-02 21:25:16 · 286 阅读 · 0 评论 -
Java数据类型
目录一、基本数据类型二、整型类型三、浮点类型四、字符类型五、布尔类型六、数值类型相互转换七、引用数据类型一、基本数据类型基本类型表示简单的数据,基本类型分为4大类,共8种数据类型。整数类型:byte、short、int和long浮点类型:float和double字符类型:char布尔类型:boolean基本数据类型如图二、整型类型Java中整数类型包括:byte、short...原创 2020-04-02 19:56:31 · 269 阅读 · 0 评论 -
IDEA与PyCharm的Debug调试指南
目录IDEA中Debug调试PyCharm中Debug调试IDEA中Debug调试Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。按钮从左到右依次解释:Show Execution Point :如果你的光标在其它行或其它页...原创 2020-03-31 14:54:27 · 996 阅读 · 0 评论 -
IDEA如何给Java项目打包成jar包,并运行
1.准备好项目代码2.选择File – Project Structure3.选择Artifacts,并选择上面的+号,选择JAR,然后再选择第二个4.填写MainClass,这里要注意一定要从根目录开始(如果没有设置好会运行出现:找不到MainClass)例如:Main-Class: com.jpetstore.ui.MainApp5.第一个红框是jar包的路径第二个红框要勾选...原创 2020-03-13 23:25:34 · 12054 阅读 · 0 评论 -
Swing中用户的登陆界面与注册(连MySQL数据库)
近期写了一个小项目,需要用到用户的登陆界面与注册我将登陆界面和注册界面分开来写先看登陆界面,代码如下:// 注册buttonOK(登陆的按钮)的ActionEvent事件监听 buttonOK.addActionListener(e -> {// 从账号框中取出账号 String accountidtxt ...原创 2020-03-08 21:33:49 · 2351 阅读 · 2 评论 -
Swing中如何实现二级联动下拉列表
简言之,比如说第一个框里有广东,江苏,安徽各省,第二个下拉框里有广东省的各个城市,比如广州,深圳之类的见代码:import javax.swing.*;import java.awt.*;import java.awt.event.ItemEvent;public class MyFrame extends JFrame { // 声明下来列表JComboBox ...原创 2020-03-07 20:24:06 · 2359 阅读 · 3 评论 -
JDBC中数据库的增删改查操作
一、数据库编程一般过程图为数据库编程的一般过程,其中查询(Read)过程最多需要7个步骤,修改(C插入、U 更新、D删除)过程最多需要5个步骤。这个过程采用了预编译语句对象进行数据操作,所以有可能进 行绑定参数。在编程之前先交代一下config.properties文件:driver=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3...原创 2020-03-02 23:26:25 · 441 阅读 · 0 评论 -
JDBC中三个重要接口
目录一、Connection接口二、Statement接口三、ResultSet接口这里介绍一下JDBC API中最重要的三个接口:Connection、Statement和ResultSet。一、Connection接口java.sql.Connection接口的实现对象代表与数据库的连接,也就是在Java程序和数据库之间建立连接。Connection接口中常用的方法:Statemen...原创 2020-03-02 22:59:52 · 4198 阅读 · 0 评论 -
JDBC技术(MySQL)之建立数据库连接
目录一、加载驱动程序二、建立数据连接一、加载驱动程序在编程实现数据库连接时,JVM必须先加载特定厂商提供的数据库驱动程序。使用Class.forName()方 法实现驱动程序加载过程不同驱动程序的装载方法如下://JDBC-ODBC桥接,Java自带Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //数据库厂商提供Class.forNam...原创 2020-03-02 22:00:07 · 683 阅读 · 0 评论 -
Java自定义注解
如果Java SE提供的11内置注解不能满足你的需求,可以自定义注解,注解本质是一种接口,它 是java.lang.annotation.Annotation接口的子接口,是引用数据类型。目录一、声明注解二、使用元注解案例三、读取运行时注解信息案例一、声明注解声明自定义注解可以使用@interface关键字实现,最简单形式的注解示例代码如下:public @interface Marker...原创 2020-02-29 00:18:37 · 125 阅读 · 0 评论 -
Java元注解
元注解包括:@Documented、@Target、@Retention、@Inherited、@Repeatable和@Native。元注解是 为其他注解进行说明的注解,当自定义一个新的注解类型时,其中可以使用元注解。@Documented如果在一个自定义注解中引用@Documented注解,那么该注解可以修饰代码元素(类、接口、 成员变量和成员方法等),javadoc等工具可以提取这些注...原创 2020-02-28 23:39:57 · 266 阅读 · 0 评论 -
Java基本注解
Java基本注解包括:@Override、@Deprecated、@SuppressWarnings、@SafeVarargs和 @FunctionalInterface@Override@Override只能用于方法,子类覆盖父类方法(或者实现接口的方法)时可以@Override注解。编译器 会检查被@Override注解的方法,确保该方法父类中存在的方法,否则会有编译错误。@Deprec...原创 2020-02-28 23:35:14 · 215 阅读 · 0 评论 -
Java反射之调用成员变量
通过反射机制还可以调用成员变量,调用方法需要使用Field对象,它对应着一个方法,获得Field对象 需要使用Class类的如下方法:Field[] getFields():返回所有公有成员变量Field对象数组。Field[] getDeclaredFields():返回所有成员变量Field对象数组。Field getField(String name):通过指定公共成员变量名返回Fi...原创 2020-02-28 00:30:46 · 561 阅读 · 0 评论 -
Java反射之调用方法
通过反射机制还可以调用方法,这与调用构造方法类似。调用方法需要使用Method对象,它对应着一 个方法,获得Method对象需要使用Class类的如下方法:Method[] getMethods():返回所有公有方法Method对象数组。Method[] getDeclaredMethods():返回所有方法Method对象数组。Method getMethod(String name,...原创 2020-02-28 00:27:58 · 884 阅读 · 0 评论 -
Java反射之创建对象
目录一、调用构造方法二、案例:依赖注入实现Java反射机制提供了另外一种创建对象方法,Class类提供了一个实例方法newInstance(),通过该方法 可以创建对象,使用起来比较简单,下面两条语句实现了创建字符串String对象。Class clz = Class.forName("java.lang.String"); String str = (String) clz.newInst...原创 2020-02-28 00:20:06 · 699 阅读 · 0 评论 -
Java反射机制API
目录一、 java.lang.Class类二、java.lang.reflect包反射(Reflection)是程序的自我分析能力,通过反射可以确定类有哪些方法、有哪些构造方法以及有 哪些成员变量。Java语言提供了反射机制,通过反射机制能够动态读取一个类的信息;能够在运行时 动态加载类,而不是在编译期。反射可以应用于框架开发,它能够从配置文件中读取配置信息动态加 载类、创建对象,以及调用方法和...原创 2020-02-28 00:06:48 · 221 阅读 · 0 评论 -
Swing章节学习总结之图书库存案例
在进行数据库设计时,数据库中每一个表对应Java一个实体类,实体类是系统的“人”、“事”、“物”等一些名词,例如图书(Book)就是一个实体类了,实体类Book代码如下:第一步:编写实体类//图书实体类public class Book {// 图书编号 private String bookid;// 图书名称 private String bookname...原创 2020-02-25 21:48:10 · 320 阅读 · 0 评论 -
Swing组件(下)
目录五、列表六、分隔面板七、表格五、列表Swing中提供了列表(JList)组件,可以单选或多选。JList常用的构造方法有:JList():创建一个列表对象。JList(Object [] listData):创建一个列表对象,listData设置列表中选项。列表中选项内容可以是任意类,而不再局限于String。下面通过示例介绍列表组件:import javax.swing.*...原创 2020-02-25 21:25:37 · 396 阅读 · 0 评论 -
Swing组件(上)
目录一、标签与按钮二、文本输入组件三、复选框与单选按钮四、下拉列表Swing所有组件都继承自JComponent,主要有文本处理、按钮、标签、列表、面板、组合框、滚动条、滚动面板、菜单、表格和树等组件。一、标签与按钮Swing中标签类是JLabel,它不仅可以显示文本还可以显示图标,JLabel的构造方法如下:JLabel():创建一个无图标无标题标签对象。JLabel(Icon im...原创 2020-02-25 21:05:47 · 279 阅读 · 0 评论 -
Swing图形用户界面编程之布局管理
目录一、FlowLayout布局二、BorderLayout布局三、GridLayout布局四、不使用布局管理器Java SE提供了7种布局管理器包括:FlowLayout、BorderLayout、GridLayout、BoxLayout、 CardLayout、SpringLayout和GridBagLayout,其中最基础的是FlowLayout、BorderLayout和GridLayo...原创 2020-02-23 23:47:02 · 641 阅读 · 0 评论 -
Swing图形用户界面编程之事件处理模式
目录一、采用内部类处理事件二、采用Lambda表达式处理事件三、使用适配器图形界面的组件要响应用户操作,就必须添加事件处理机制。Swing采用AWT的事件处理模型进行事件处理。在事件处理的过程中涉及三个要素:事件:是用户对界面的操作,例如按钮单击事件事件源:是事件发生的场所,就是各个组件,例如按钮单击事件的事件源是按钮(Button)事件处理者:是事件处理程序,在Java中事件处理者是实...原创 2020-02-23 18:18:21 · 622 阅读 · 0 评论