MY_Java
文章平均质量分 75
Java语法 类.方法
余生为莹
好好学习天天向上
展开
-
反射
反射是一种新的机制,操作一个未知类中属性、构造方法、普通方法的方式方法。为了实现对成员变量、构造方法和普通方法的操作,我们需要借助Java自身提供的java.lang包下的Class类和java.lang.reflect包下的反射API 。即class类在反射中处于入口的位置,如果你要使用反射,首先必须要获取一个类中所对应的class引用类型的对象。class类Class类是J...原创 2019-06-20 21:51:25 · 103 阅读 · 0 评论 -
HashSet中的remove方法
public class Test { public static void main(String[] args) { HashSet<String> set = new HashSet<>(); set.add("1"); set.add("1"); set.add("2"); set.remove("1"); set.remove(...原创 2019-05-17 18:21:09 · 5514 阅读 · 0 评论 -
分析HashSet集合存储自定义类型对象的存储过程
首先创建一个学生类class Student{ String id; public Student(String id) { this.id = id; }}然后向HashSet集合存储学生类型的对象:HashSet<Student>set = new HashSet<>();set.add(new Student("1"));s...原创 2019-05-15 17:29:07 · 317 阅读 · 0 评论 -
HashSet中的add方法(对集合底层的分析)
HashSet中的add方法源代码如下:public boolean add(E e) { return map.put(e, PRESENT)==null;}由源代码(HashSet类中add方法)可以看出PRESENT是常量类型(由fina修饰,全部大写),map是HashMap类型的:private transient HashMap<E,Ob...原创 2019-05-12 00:28:28 · 591 阅读 · 0 评论 -
详述Log4j
Log4jApache的一个开源项目,帮助开发人员进行日志输出管理的API类库。log4j= log for java 一个java平台的日志系统,类似的还有commons-loggin,slf4j,都是日志工具。为什么使用Log4j 通过使用Log4j,可以控制日志信息格式及其输送目的地(控制台、文件、数据库等),方便的对项目中的日志进行处理——控制日志信息输送...原创 2019-05-09 17:17:17 · 129 阅读 · 0 评论 -
Properties文件和(Java)PropertiesUtil类
properties概述: properties文件是一种属性文件,这种文件以key=value格式存储内容。Java中可以使用Properties类来读取这个文件,使用Properties类中的getProperty(key)方法就能得到对应的数据。一般properties文件作为一些参数的存储,使得代码更加灵活。 在集合的知识中: properties继承...原创 2019-05-09 16:10:02 · 2313 阅读 · 0 评论 -
MD5加密
概述(为什么要用MD5加密)1990年10月,著名密码学家R.L.Rivest在MIT(Massachusetts Institute of-Technology)提出了一种Hash函数,作为RFC1320(RFC:互联网研究和开发机构工作记录)公开发表,称为MD4,MD5是MD4的改进版本, 于1992年4月作为 RFC 1321公开发表。 MD5是不可逆加密的,但仍可以通过碰撞得到明文,...原创 2019-05-09 15:18:43 · 484 阅读 · 0 评论 -
DButils-------对jdbc进行封装的工具类和对SQL注入的解决
直接将封装的方法抽取到工具类中为了更加便于使用,将之前封装jdbc增删改(update)查(query)的方法抽取到一个工具类DButil中,如果想要使用增删改查的功能,就可以直接通过DBUtil这个工具类来调用。代码如下import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet...原创 2019-05-06 22:21:51 · 833 阅读 · 0 评论 -
jdbc的封装-----------查询
查询信息的基本操作import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Query { public static void ma...原创 2019-05-06 21:17:49 · 1257 阅读 · 0 评论 -
jdbc的封装-----------增删改
通过JDBC对数据进行插入,删除,更改这三种操作时,都是用的Statement.executeUpdate()方法,该方法返回影响的行数。其他代码相同,且只有SQL语句不同,如果每次进行更新操作,都要重新写一遍代码则代码复用性太差。所以我们可以把搭建数据库操作进行封装,减少代码的冗余。解决方法:将数据库操作封装到一个类中,将方法传入SQL语句,返回值为boolean类型,返回更新操作是否...原创 2019-05-06 19:50:13 · 190 阅读 · 0 评论 -
JDBC(Java DataBase Connectivity)的基本操作------修改和查询
修改用户信息import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Up { public static void main(S...原创 2019-05-06 11:06:15 · 209 阅读 · 0 评论 -
JDBC(Java DataBase Connectivity)的基本操作------添加和删除
在使用JDBC之前要导入相应数据库驱动程序的jar包大致步骤:1.加载驱动,找到mysql-connector-java-5.1.9.jar包中的Driver类2.建立连接, 使用DriverManager的getConnection方法3.创建SQL语句对象 使用Connection的createStatement方法4.书写SQL语句,需要保证SQL语句的正确性,如果有SQL语...原创 2019-05-05 19:11:14 · 308 阅读 · 0 评论 -
ArrayList中的remove方法(对集合底层的分析)
remove源码ArrayList集合底层存储结构是数组,所以ArrayList中的remove删除方法,其实就是数组的删除源码:public boolean remove(Object o) { if (o == null) { for (int index = 0; index < size; index++) ...原创 2019-04-26 18:19:26 · 1589 阅读 · 0 评论 -
集合---集合的遍历
集合又称为容器,用于存储、提取、删除数据。JDK提供的集合API都包含在 java.util 包内。集合框架两大分支:Collection接口和Map接口collectionMap集合的遍历一. List集合的循环遍历方法一:普通for循环遍历方法二:加强for循环遍历方法三:运用迭代器循环遍历import jav...原创 2019-04-25 20:13:36 · 514 阅读 · 0 评论 -
final,finally和finalize
final—修饰符(关键字),修饰的类不能被继承,修饰的方法可以被继承但不能被重写,修饰的变量为常量。finally—在异常处理时提供 finally 块来执行任何清除操作。finalize—方法名,finalize() 方法在垃圾收集器将对象从内存中清除之前做必要的清理工作,如下代码:class Student { @Override protected void fina...原创 2019-04-25 21:48:35 · 101 阅读 · 0 评论 -
数据源和连接池
JDBC数据源数据源: Data Source JDBC中提供了javax.sql.DataSource接口,负责建立与数据库的连接 DataSource对象可以由Web服务器提供,前提是需要在服务器配置DataSource(包括连接池)连接池:Connection Pool将一些JDBC Connection对象,如水池般积蓄起来,在需要时之间可以直接从池中拿出使用,而...原创 2018-10-28 23:46:32 · 185 阅读 · 0 评论 -
自动装箱和自动拆箱
什么是自动拆装箱自动装箱:Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,自动拆箱:反之将Integer对象转换成int类型值,这个过程叫做拆箱。简单来说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。因为这里的装箱和拆箱是自动进行的非人为转换,所以就称作为自动装箱和拆箱.//自动...原创 2018-10-25 17:25:54 · 626 阅读 · 0 评论 -
instanceof 运算符
instanceof 运算符 用于:判断 该运算符前面引用类型变量指向的对象是否是后面类,或者其子类、接口实现类创建的对象。如果是则返回true,否则返回false,其使用格式如下: 引用类型变量 instanceof (类、抽象类或接口) public class Test { public static void main(String[] args) { ...原创 2018-07-30 17:26:12 · 7071 阅读 · 2 评论 -
抽象类和接口
抽象类一个abstract类只关心它的子类是否具有某种功能,并不关心其自身功能的具体行为,功能的具体行为由子类负责实现。抽象类不能被直接实例化,即不能使用关键字new来创建该抽象类的对象。抽象类中可以没有abstract方法(为了强迫使用者必须通过继承来使用这个类);但是一旦类中包含了abstract方法,则这个“类”一定是abstract类,即有抽象方法的类一定是抽象类。抽象类的子类必须实现抽象...原创 2018-05-30 17:32:39 · 126 阅读 · 0 评论 -
访问权限和封装
访问权限修饰符软件中的某些属性和方法出于程序安全考虑不允许被其它类操作和调用,这就需要使用Java中的访问权限修饰符,Java中的访问权限修饰有4种:Java中的访问权限修饰符可以修饰成员变量、构造方法、普通方法。全面研究某个访问权限的使用范围需要从以下方法考虑:访问控制符使用范围:public是最大的访问权限修饰符,其修饰的成员变量、构造方法和普通方法可在任何一个类中被操作或使用;protect...原创 2018-05-18 20:09:57 · 275 阅读 · 0 评论 -
继承-重写-多态
继承继承是面向对象编程的三大特征之一,是一种基于已有类来创建新类的机制。由继承而得到的类称为子类(或派生类),被继承的类称为父类(或超类)。Java中每个类只允许有一个父类。语法如下:class <子类> extends <父类>Object类是所有类的直接父类或间接父类。根据访问权限修饰符的不同,子类可以继承父类中某些成员变量和方法,提高了代码的重用性,子类也可以添加新的...原创 2018-05-16 20:11:39 · 201 阅读 · 0 评论 -
构造方法
普通格式:代码冗余public class Stu { private int age; private String id; private String name; private String mobile; public static void main(String[] args) { Stu xiaoming=new Stu(); xiaoming.age...原创 2018-05-14 23:33:51 · 154 阅读 · 0 评论 -
变量(全局变量,局部变量)和代码块
变量的分类 成员变量: 直接在类中声明的变量叫成员变量(又称全局变量) 如果未对成员变量设置初始值,则系统会根据成员变量的类型自动分配初始值:int分配初始值0、boolean分配初始值false,而 自定义类型则分配初始值null。 成员变量定义后,其作用域是其所在的整个类。 成员变量的定义没有先后顺序,但是最好将成员变量的定义集中在类的...原创 2018-05-12 17:28:31 · 992 阅读 · 0 评论 -
方法的定义和重载
方法的定义方法用于定义类的某种行为(或功能),其语法结构如下:访问控制符 [修饰符] 返回值类型 方法名 ( [参数] ) { //方法体}大括号为语句块如下代码所示:public void sayHello(){ System.out.println("Hello");}protected final void show(int x){ System.out...原创 2018-05-07 19:01:48 · 280 阅读 · 0 评论 -
java类和对象
现实中的对象:现实生活中万物皆对象:灯泡质检员质检的每件灯泡;对于老师而言,在坐的各位学生;对于大家而言,自己的笔记本电脑。java中的对象Java语言中的对象是对现实世界中对象的模拟,现实中的对象存在于现实生活中,Java语言中的对象存在于计算机内存中。Java语言中的对象又称为实例。对象的属性和方法Java中的对象也是如此,只是叫法不同:Java中将现实对象中的信息称为属性(也叫全局变量),将...原创 2018-05-03 21:06:14 · 245 阅读 · 0 评论 -
值传递与引用传递
值传递值传递(pass by value)是指在调用函数时将实际参数 复制 一份传递到函数中,这样在函数中如果对 参数 进行修改,将不会影响到实际参数。public class zhiChuanDi { public static void tax(int i){ i=10; } public static void main(String[] args) { int sum=...原创 2018-04-22 20:01:34 · 128 阅读 · 0 评论 -
数组的定义,声明实例化
数组的定义:数组是相同数据类型的数据按顺序组成的一种引用数据类型。 这里的“相同数据类型”是指数据在内存中的数据类型。基本数据类型元素构成的数组也是引用类型。为什么要定义数组: 方法不能返回多个值 将欲返回的多个值放在数组中,就可以间接实现返回多个值的效果数组的声明实例化通过数组名加数组下标,来使用数组中的数据。下标从 0 开始排序。声明一维数组:数组元素类型[ ] <数组名>...原创 2018-04-16 23:15:00 · 9982 阅读 · 0 评论 -
流程控制——循环语句
语句是程序的基本组成单元,一个软件就是一组语句的有序集合。按照结构划分语句有三种形式:1、顺序结构:按前后顺序执行的语句体。2、分支结构:选择执行一部分语句体。3、循环结构:循环执行一块语句体。for循环语句语法:for(<初始化循环因子>;<布尔型循环条件>;<循环因子步进>){ 当循环因子满足布尔型循环条件时执行的语句 当前一次循...原创 2018-04-08 23:24:18 · 165 阅读 · 0 评论 -
流程控制——分支语句
if分支语句if 概述:在某些情况下,需要当某一条件满足时才执行相应代码,条件不满足则执行其他代码。if 四种形式:单分支、双分支、多分支、嵌套if单分支if (布尔表达式) { //布尔表达式为true时需执行的代码;}双分支双分支if语句可以通过三目运算来转换,但前提是双分支各语句中必须是一个表达式;if (布尔表达式) { //布尔表达式为true时需执...原创 2018-04-02 23:24:25 · 389 阅读 · 0 评论 -
Java 基本语法——变量常量,运算符,表达式
变量概述:Java通过定义变量来申请数据存储空间,并通过变量名获取或改变存储的值。变量命名规则: 变量名必须遵循标识符命名规则; 首字母必须小写,如果由多个单词组成,从第二个单词开始首字母必须大写; 变量名一般由名词组成。变量定义:[访问控制符] [修饰符] 数据类型 变量名 [ = 初始值]; public sta...原创 2018-04-01 17:20:57 · 1654 阅读 · 0 评论 -
Java基本语法——数据类型
Java的基本语法——数据类型Java标识符标识符是编程时使用的名字:Java对包、类、接口、方法、变量、常量(不包括项目名)等命名时使用的字符序列称为标识符。Java标识符有如下命名规则: 1、标识符由字母、数字、 “_”、 “$”组成,且首字母不能是数字; 2、不能把Java关键字作为标识符; 3、标识符没有长度限制; 4、标识符对大小写敏感。标...原创 2018-03-31 12:25:40 · 249 阅读 · 0 评论 -
Java的基本程序结构
一个简单的Java程序:1. 用记事本写程序如下:public class First{ public static void main(String[] args){ System.out.println("Hello,World"); }}首先,Java区分大小写。如果出现了大小写拼写错误(例如,将main拼写成Main),程序将无法运行。根据Java语言规范,m...原创 2018-03-30 23:27:57 · 514 阅读 · 0 评论 -
java编程语言和一些基本的计算机常识
计算机软件:指令(instruction)和数据(data)的集合。 —— Alan Turing(阿伦·图灵)软件分类:系统软件(operating software等)和应用软件。计算机语言的分类:JAVA是sun公司在1995年推出的一门高级编程语言(high_level programing language)核心思想就是面向对象(Object-oriented programmi...原创 2018-03-25 17:33:38 · 2678 阅读 · 0 评论