JavaSE自我学习
自己学习
终究敌不过命运
这个作者很懒,什么都没留下…
展开
-
21-04-08Java集合
Java集合集合框架的概述概念集合框架CollectionCollection接口中的方法的使用Iterator迭代器foreach增强循环Collection子接口之一:List接口Collection子接口之二:Set接口基本概念HashSe和LinkedHashSetTreeSetMap基本概念Map的实现类的结构:Map结构的理解各种Map的实现原理Map中定义的方法PropertiesCollections:操作Collection、Map的工具类集合框架的概述概念集合、数组都是对多个数转载 2021-04-13 17:02:52 · 75 阅读 · 0 评论 -
21-04-07比较器,System,Math,BigInteger与BigDecimal
比较器,System,Math,BigInteger与BigDecimal比较器Comparable接口:自然排序Comparator接口的使用:定制排序System类Math类**BigInteger**类**BigDecimal**类)比较器说明:Java中的对象,正常情况下,只能进行比较:== 或 != 。不能使用 > 或 < 的 但是在开发场景中,我们需要对多个对象进行排序,即需要比较对象的大小。 使用两个接口中的任何一个:Comparable原创 2021-04-07 12:52:53 · 128 阅读 · 1 评论 -
21-04-05Date与time
时间类Java8之前的APISyetem中的类java.util.Date类SimpleDateFormatCalendarJava8中日期时间API之前时间的不足time的使用Instant的使用DateTimeFormatterJava8之前的APISyetem中的类System类中的currentTimeMillis()返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。称为时间戳public void test1(){ long time = System.c转载 2021-04-13 17:04:33 · 79 阅读 · 0 评论 -
21-04-02String
字符串相关的类String类基本概念:String的实例化方式String的使用String与基本数据类型,包装类之间的转换String常用方法1String常用方法2String常用方法3StringBuffer与StringBulider三者的异同源码分析StringBuffer的常用方法String类基本概念:String类:字符串,使用一队“”引起来表示String是一个final类,不可被继承String实现了Serializable接口:表示字符串是支持序列化的。原创 2021-04-07 10:04:22 · 92 阅读 · 0 评论 -
21-3-31多线程
多线程基本概念程序进程线程并行与并发线程的创建和使用方式一:继承于Thread类创建方式测试Thread中的常用方法:start():run():currentThread():getName():setName():yield():join():sleep(long millitime):isAlive():线程的优先级全部代码方式二:实现Runnable接口创建方式Thread和Runnable方式的对比方式三:实现Callable接口创建方式方法四:线程池的创建线程的生命周期线程的同步线程同步的意义方转载 2021-03-31 23:50:47 · 53 阅读 · 0 评论 -
21-03-27JAVA异常
JAVA的异常java异常处理异常分类ErrorException运行时异常编译时异常异常处理try-catch-finally 的使用throws的使用throw自定义异常课后练习java异常处理异常分类异常体系结构java.lang.Throwable|-----java.lang.Error:一般不编写针对性的代码进行处理。|-----java.lang.Exception:可以进行异常的处理 |------编译时异常(checked) |-----IOExcepti原创 2021-03-29 00:20:31 · 270 阅读 · 2 评论 -
21-03-24内部类
内部类内部类1.属性与分类2.成员内部类3.局部内部类内部类1.属性与分类属性:java允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类。内部类的分类:成员内部类(静态、非静态) vs 局部内部类(方法内,代码块内,构造器内)成员内部类定义在外部类里,和方法,属性一样局部内部类则定义在方法内等。2.成员内部类作为外部类的成员:调用外部类的结构可以被static修饰可以被四种不同的权限修饰作为一个类:类内可以定义属性、方法、构原创 2021-03-24 17:38:48 · 48 阅读 · 0 评论 -
21-03-23接口
接口1.基本性质2.接口成员的的定义3.接口不能定义构造器!意味着接口不可以实例化4.java开发中,接口通过让类(implements)的方式来使用5.java类可以实现多个接口-->弥补了java单继承的局限性。6.接口与接口之间可以继承,而且可以多继承7.接口的具体使用,体现多态性。8.接口,实际可以看做一种规范。9.在类中可以定义接口但不对其实例化10.接口的匿名使用11.如果子类中接口和父类属性重名和方法重名12.工厂模式1.基本性质接口使用interface来定义interfac原创 2021-03-24 13:20:05 · 56 阅读 · 0 评论 -
21-03-22abstract关键字的使用及匿名内部类
abstract关键字的使用及匿名内部类abstract抽象的用来修饰的结构:类,方法abstract修饰类:抽象类此类不能实例化抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作例子:抽象类package 抽象类;public abstract class Employee { private String name; private int id; private int s原创 2021-03-23 22:50:06 · 151 阅读 · 0 评论 -
21-03-20关键字:final
关键字:finalfinal修饰的结构类,方法,对象final修饰一个类则此类不能被其他类继承。比如String类,System类,StringBuffer类final修饰一个方法则此方法无法被重写如Object类中的getClass()final用来修饰变量,则此“变量”就称为是一个常量final修饰属性:可以考虑赋值的位置有:显示初始化、代码块中初始化、构造器中初始化finlal修饰局部变量:尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用原创 2021-03-20 14:00:18 · 52 阅读 · 0 评论 -
21-03-19属性的赋值顺序
属性的赋值顺序默认初始化显示初始化 / 在代码块中赋值 谁写在前面先执行谁构造器中初始化有了对象后,通过“对象.属性”或“对象.方法’'进行赋值public class OrderTest { public static void main(String[] args) { Order order = new Order(); System.out.println(order.orderId); }}class Order{ int orderId = 3;原创 2021-03-20 01:19:24 · 80 阅读 · 0 评论 -
21-03-19代码块
代码块代码块的作用用来初始化类,对象代码块如果需要修饰的话,只能用static修饰代码块的分类静态代码块和非静态代码块静态代码块内部可以有输出语句随着类的加载而执行,而且只执行一次作用:初始化类的信息如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行静态代码块的执行要优于非静态代码块的执行静态代码块内只能调用静态的属性、静态的方法,不能调用非静态的结构非静态代码块内部可以有输出语句随着类的创建而执行每创建一个对象,就执行一次非静态代码块作用原创 2021-03-20 01:10:40 · 52 阅读 · 0 评论 -
21-03-19main方法的使用说明
main方法的使用说明main方法作为程序的入口。main方法也是一个普通的静态方法。package main方法的测试;public class MainTest { public static void main(String[] args) { Main.main(new String[50]); }}class Main{ public static void main(String[] args) { for(int i=0; i< args.leng原创 2021-03-20 01:10:08 · 143 阅读 · 0 评论 -
21-03-19单例设计模式
单例设计模式单例设计模式采取一定方法,保证在整个的软件系统中,对某个类只能存在一个对象实例。如何实现:懒汉式 和 饿汉式私有化类的构造器内部创建类的对象要求此对象也必须声明为静态的提供公共的静态的方法,返回类的对象懒汉式:先造好静态对象public class SingletonTest1 { public static void main(String[] args) { Bank bank1 = Bank.getInstance(); Bank bank2原创 2021-03-19 16:14:26 · 45 阅读 · 0 评论 -
21-03-18static关键字的使用
static关键字的使用static:静态的可以用来修饰:属性,方法,代码类,内部类使用static修饰属性:静态变量(或类变量)属性:按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量)实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值的修改。静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变量时,会导致其他对象调用此静态变量时,原创 2021-03-19 01:00:23 · 71 阅读 · 0 评论 -
21-03-18基本类型、包装类与string类间的转换
基本类型、包装类与string类间的转换基本数据类型与包装类之间转换基本数据类型与包装类的转换装箱通过包装类的构造器实现:int i = 500; Integer t = new Integer(i);通过字符串参数构造包装对象Float f = new Float(“3.456”);但是这样是有风险的Long l = new Long(“asdf”) //这样就会出错***拆箱***拆箱boolean b = bobj.booleanValue();原创 2021-03-18 15:27:28 · 57 阅读 · 0 评论 -
21-03-17Junit单元测试
Junit单元测试import java.util.Date;import org.junit.Test;public class 单元测试 { int a = 4; int c= 6; String d= "ccc"; @Test //加这个即可 public void test(){ if(a == c) System.out.println("ccc"); Object obj = d; Date date = (Date)obj; }}创建java类,原创 2021-03-18 00:54:25 · 53 阅读 · 0 评论 -
21-03-17to string
to string当我们输出一个对象的引用时,实际上就是调用当前对象的toString()比如cust为自定义数据类型变量,则System.out.println(cust);System.out.println(cust.toString());第一个实际上省略了toString()二则都返回类名和地址值。像String、Date、File、包装类等都重写了Object类中的toString方法,返回实际内容。我们自己定义类时也可以重写String类...原创 2021-03-18 00:23:39 · 45 阅读 · 0 评论 -
21-03-17== 和 equals()
== 和 equals()==:运算符可以使用在基本数据类型变量和引用数据类型变量中如果比较的是基本数据类型变量:比较两个变量保存的数据是否相等。(不一定数据类型相同,如double和int也可以比较)如果比较大的是引用数据类型变量:比较两个对象的地址值是否相同,即两个引用是否指向同一个对象实体。== 符号使用时,必须保证符号左右两边的变量类型一致。equals()是一个方法,而非运算符只能适用于引用数据变量 a.equals(b)Object类中原创 2021-03-18 00:00:58 · 37 阅读 · 0 评论 -
21-03-17object类
java.lang.object类object类是java所有类的根父类在类的声明中,如果未使用extends关键字指明其父类,则默认父类为java.lang.Object类Object类中的功能(属性和方法具有通用性)属性:无方法:equals()…Object类只声明了一个空参的构造器...原创 2021-03-18 00:00:21 · 36 阅读 · 0 评论 -
21-03-16向下转型的使用和instanceof关键字的使用
向下转型的使用和instanceof关键字的使用向下转型,使用强制类型转换符(将父类转换为子类)但是这样转是会有风险的,一旦转换的两者之间无关系或者父类转化为子类后,子类使用的方法父类没有,就会出错。instanceofa instanceof A:判断对象a是否是类A的实例,如果是,则返回true,如果不是,返回false。使用场景:为了避免在向下转型时出现ClassCastException的异常,我们在向下转型之前,先进行instanceof的判断,一旦返回true,就进行向下转型,原创 2021-03-17 00:59:53 · 131 阅读 · 0 评论 -
21-03-16多态性
多态性多态性可以理解为一个事物的多种形态何为多态性对象的多态性:父类的引用指向子类的对象(子类的对象赋给父类的引用)例 父类 变量名 = new 子类()多态的使用:虚拟方法的调用有了对象的多态性以后,我们在编译期,只能调用父类的中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。总结:编译看左边,运行看右边多态的使用前提类的继承关系方法的重写对象的多态性,只适用于方法,不适用于属性测试的代码package 多态性测试.初练多态;publi原创 2021-03-17 00:59:21 · 37 阅读 · 0 评论 -
21-03-16super关键字的使用
super关键字的使用super理解为:父类的super可以调用属性,方法,构造器super调用属性和方法在子类的方法或构造器中,通过使用"super.属性"或"super.方法"的方式,显式的调用父类中声明的属性或方法,但是在通常情况下,我们习惯性省略"super."特殊情况:当子类和父类中定义了同名的属性时,我们想要在子类中调用父类中声明的属性,则必须显式的使用"super.属性"的方式,来表明调用的是父类中声明的属性。特殊情况:当子类重写了父类中的方法以后,我们想要在子类的原创 2021-03-16 13:14:24 · 63 阅读 · 0 评论 -
21-03-15方法的重写
方法的重写(override/overwrite)重写子类继承父类以后,可以对父类中同名参数的方法,进行覆盖操作应用重写以后,当创建子类对象以后,通过子类对象调用父类中的同名同参数的方法时,实际执行的是子类重写父类的方法。重写的规定 方法的声明:权限修饰符 返回值类型 方法名(形参列表){ //方法体 } 约定俗称:子类中叫重写的方法,父类中叫被重写的方法子类重写的方法的方法名和形参列表与父类被重写的方法名和形参列表相同。子类重写的方法的权限修原创 2021-03-16 00:29:20 · 48 阅读 · 0 评论 -
21-03-12import和package关键字
关于package关键字的使用为了更好的实现项目中类的管理,提供包的概念。使用package声明类或接口所属的包,声明在源文件的首行。包,属于标识符,遵循标识符的命名规则、规范(XXXyyyzzz)、“见名知意”每"."一次,就代表一层文件目录。补充:同一个包下,不能命名的同名的接口,类。 不同的包下,可以命名同名的接口,类。import关键字的引用 作用:导入在源文件中显示的使用important结构导入指定包下的类、接口。声明在包的声明和类的声明之间。..原创 2021-03-13 00:30:10 · 54 阅读 · 0 评论 -
21-03-11this关键字
this关键字的使用this可以用来修饰:属性,方法,构造器this修饰属性和方法: this理解为:当前对象 或 正在创造的对象在类的方法中,我们可以使用“this.属性" 或者”this.方法“的方式,调用当前对象属性或方法。但是通常情况下,我们都选择省略"this."。特殊情况下,如果方法的形参和类的属性名相同时,我们必须显示的使用“this.变量的方式”,表明此变量是属性,而非形参。在类的构造器中,用法和类相似。只是表明调用的是当前正在创建的对象属性或方法。th原创 2021-03-11 20:28:47 · 66 阅读 · 0 评论 -
21-03-11构造器
构造器构造器的作用:创建对象但构造器里面也可以有语句,当做方法来去使用构造器名必须和类名相同说明如果没有一个显式的定义类的构造器的话,则系统默认提供一个空参的构造器而且构造器也可以重载,可以给它加形参。但是要注意的是一旦创建了一个构造器,那么原来的那个默认的空参的构造器就自动删除了,如果还想使用空参的构造器,需要自己来重新构造。定义构造器的格式:权限修饰符 类名(形参列表){}构造器里面的语句在new的时候就一起执行了一个类中,至少会用一个构造器impo原创 2021-03-11 13:51:06 · 161 阅读 · 0 评论 -
21-03-10权限修饰符及封装性
封装性的体现我们将类的属性xxx私有化(private),同时提供公共的(public)方法来获取(getXxx)和设置(setXxx)public class practise { public static void main(String[] args){ Person p = new Person(); p.setAge(15); System.out.println(p.getAge()); } } class Person{ private原创 2021-03-10 22:53:00 · 93 阅读 · 0 评论 -
21-03-10对象的进阶
万事万物皆对象在java语言中,将功能,结构封装到类中,通过类的实例化,来调用具体的功能结构Scanner,String等文件:File网络资源:URL设计到java语言与前端Html,后端的数据库交互式,前后端的结构在Java层面交互时,都体现为类,对象。内存解析的说明,只可能存储两类值:NULL或者 地址值(含变量的类型)类new后如果直接打印显示其地址值,且可以赋值nullpublic class practise { public static void main..原创 2021-03-10 17:54:23 · 55 阅读 · 0 评论 -
21-03-09方法的定义
方法的声明:权限修饰符 返回值类型 方法名(形参列表){ 方法体}说明关于权限修饰符,默认方法先都使用publicJava规定的4种权限修饰符:private、public、缺省、protected返回值类型:有返回值和无返回值主要强调对于void类型,可以return;来结束方法方法的重载(overload)在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可两个相同:同一个类,相同方法名一个不同:参数列表不同..原创 2021-03-10 17:53:22 · 50 阅读 · 0 评论 -
21-03-08类中属性的使用(属性vs局部变量)
属性(成员变量) vs 局部变量相同点:定义变量的格式:数据类型 变量名 = 变量值先声明,后使用变量都有其对应的作用域不同点在类中声明的位置的不同属性:直接定义在类的一队{}内局部变量:声明在方法内、方法形参、代码块内、构造器形参,构造器内部的变量关于权限修饰符的不同属性:可以在声明属性时,指明其权限,使用权限修饰符。 常用的权限修饰符:private、public、缺省、protected ---->封装性 局部变量:不可以原创 2021-03-08 13:15:14 · 107 阅读 · 0 评论 -
21-03-08初识对象
java类的设计,其实就是设计类的成员属性 = 成员变量 = field = 域、字段方法 = 成员方法 = method = 函数创建类的对象 = 类的实例化 = 实例化类类和对象的使用先创建类,并设计类的成员创建类的对象通过“对象.属性” 或 “对象.方法”调用对象的结构public class test { public static void main(String[] args){ Person p1 = new Person(); p1.name =.原创 2021-03-08 11:41:26 · 88 阅读 · 1 评论 -
21-03-08Arrays部分函数
定义目录标题)欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示原创 2021-03-08 09:29:15 · 74 阅读 · 3 评论