- 博客(23)
- 收藏
- 关注
原创 大海捞针 - Everthing的实现思路
一、写在前面有时候在Windows命令行下需要查询一些工具,但Windows命令行无法进行全局搜索,只能在当前文件下搜索。并且,for命令也需要写脚本进行搜索,很不方便。所以,我仿照Everthing桌面工具,自己DIY了一款基于Java语言的命令行工具,用来实现Windows命令行中的文件搜索。二、意义1.解决了Windows下搜索的盘符限制,实现在整个文件系统中的搜索。2.可以...
2019-03-02 18:56:22 567
原创 JavaSE - 注解
注解 @三大内置注解:准确覆写@Override、过期声明@Deprecated、压制警告@SuppressWarings1.准确覆写 @Override当子类覆写父类方法时,此注解检查覆写的方法是否正确声明,只有满足覆写方法要求才会编译通过,否则编译报错。2.过期声明 @Deprecated建议用户不使用原有的类或者方法时,可以在类或者方法上加 @Deprecated,表示在...
2019-02-28 12:38:22 234
原创 JavaSE - 枚举
一、枚举 - 构造方法必须私有化enum Color{ RED, BLUE, GREEN;}使用enum关键字定义的枚举结构实际上是默认继承了Enum类的枚举类。Enum类中存在两大属性 - 覆写了toString() 方法:(1)name:枚举对象名称public final String name(){} // 取得枚举对象名称(2)ordinal:...
2019-02-25 19:43:05 285
原创 JavaSE - 泛型
泛型 - 守门员在类定义的时候并不会设置方法的参数,或类中属性的具体类型,而是在使用的时候再定义。(1)T代表一般类(2)E代表Element,常用于类中属性(3)K代表Key的意思(4)V代表Value,通常与K一起配合使用(5)S代表Subtype的意思1.泛型类class MyClass<T, E>{ T value1; // T为...
2019-02-24 17:03:07 245
原创 方法引用
方法引用方法引用实际上只是给方法起了个别名方法引用的四种形式:1.引用类中静态方法类名称 : : 静态方法名称2.引用某个对象的方法实例化对象 : : 普通方法3.引用类中普通方法类名称 : : 普通方法名4.引用类中的构造方法类名称 : : new// 方法引用 - 与lambda表达式搭配使用interface IUtil<P,R>{...
2019-02-23 17:19:38 147
原创 Lambda表达式
Lambda表达式1.要想使用函数式编程有一个前提:接口必须只有一个方法。如果接口存在两个以上的方法,则无法使用函数式编程。如果现在某个接口就是为函数式编程而生的,在定义时只能存在一个方法,因此有一个新的注解@Functionallnterface,此注解会检查该接口中是否只存在一个抽象方法,存在两个方法及以上编译报错。2.当方法体只有一行代码时:(方法参数)-> 具体的...
2019-02-22 18:59:31 235
原创 JavaSE - 三个特殊类(2)
二、Object类(RealFather) - Object类是Java默认提供的类Java除了Object类,所有类都存在继承关系,默认会继承Object父类,所有类对象都可以通过Object类进行接收。1.取得对象信息直接使用对象输出的话,默认输出地址编码。如果现在输出的是String对象,此时输出的是字符串的内容而不是地址,因为String类覆写了Object类的toStri...
2019-02-21 20:26:50 156
原创 轻聊 - 聊天室的设计思路
1.写在前面学完Java后,一方面为了巩固知识,另一方面也是看看自己对知识的掌握程度,所以动手写了一个小型Java项目 - 简易聊天室。它是一个可以实现多人通讯功能的简单项目。因为是第一次自己写项目,所以并没写的特别复杂,只是简单实现了注册、群聊、私聊、退出功能。2.整体思路我在该项目里采用的是C/S架构。它的编程包括客户端编程和服务器端编程两部分。整体架构考虑好以后,模拟一下整个...
2019-02-21 18:55:16 3164
原创 JavaSE - 三个特殊类(1)
一、java.lang.String 类1.String类的两种实例化方式(1)直接赋值 - 在堆上分配空间,自动入池eg:String str = "Hello";(2)通过构造方法实例化String 类对象,手动入池eg:String str = new String("Hello");对象入池 - 手动入池方法public native String int...
2019-02-18 17:09:58 171
原创 JavaSE - 单例模式
一、单例模式一个类只允许产生一个实例化对象。通过类的构造方法产生对象,因此通过构造方法限制对象的产生 - 构造方法私有化。类外部无法产生私有化对象,类内部提供实例化对象,再提供 static 的 getter( ) 方法,通过类名调用来取得该类的实例化对象。1.饿汉式单例:上来就new//饿汉式单例class Person{ //类内部提供实例化对象,类外部无法改变,所...
2019-02-14 19:33:52 203 1
原创 JavaSE - 包的基本知识
包的定义与使用1.定义包本质上就是文件夹。用package来定义包2.打包编译命令javac -d . 类名.java(d后面的点.左右有空格,类名后面的点.左右没有空格)-d :表示生产目录,根据package定义产生. :表示在当前目录产生子目录3.包的导入 - import自动匹配编译顺序(在当前目录下按照主类的使用情况自动编译)javac -d . ./...
2019-01-24 19:01:13 295
原创 JavaSE - 关键字
一、this关键字1.this表示调用本类属性只要在类中访问类的属性,一定要加上this关键字。// this.name 和 this.age 明确表示不会就近取用,而是找类中属性class Person{ private String name; private int age; public Person(String name, int age){ ...
2019-01-23 16:22:01 254
原创 JavaSE - 接口
接口的定义与使用接口优先原则:在一个操作既可以使用抽象类,又可以使用接口的时候,优先考虑使用接口。1.接口定义:在java中,接口就是一个抽象方法与全局常量的聚合(JDK1.8以前),接口使用interface关键字定义。(1)接口的命名规范:接口前加大写 I 来区分接口(2)子类实现接口使用implements关键字,并且子类可以同时实现多个父接口(可以使用接口来实现多继承)...
2019-01-22 22:24:38 295
原创 JavaSE - 抽象类
抽象类的定义与使用1.抽象类:在普通方法的基础上,扩充了一些抽象方法(也有java单继承局限)。抽象方法:只声明而未实现的方法,即没有方法体。所有抽象方法要求使用abstract来定义,并且抽象方法所在类也一定要使用abstract来定义,表示抽象类。在java中,只有方法声明而没有方法体的,不一定是抽象方法,也可能是本地方法,如:public native void fun( )...
2019-01-21 17:37:30 238 1
原创 JavaSE - 内部类
内部类 - 在一个类的内部进行其他类的嵌套1.优点:(1)内部类和外部类可以方便的访问彼此的私有域(包含私有方法、私有属性)。(2)内部类是另外一种封装(保护性),对外部的其他类隐藏。(3)内部类可以实现java的单继承局限// 内部类实现多继承class A{ private String msgA = "char A"; public String ge...
2019-01-21 17:19:53 191
原创 JavaSE - 代码块
代码块的定义与使用根据代码块出现的位置以及关键字,分为以下四种代码块:1.普通代码块定义在方法中的代码块,不能被任何修饰符修饰。2.构造块定义在类中的代码块(不加任何修饰符)在对象产生时,优先于构造方法执行。有几个对象产生,就调用几次构造块。用于在构造方法执行前完成一些属性的初始化操作。3.静态代码块定义在类中,用static修饰的代码块,初始化类中静态域的值。...
2019-01-21 16:35:14 182
原创 JavaSE - 数组
一、一维数组的初始化数组属于引用数据类型,必须在使用前初始化,否则会报NullPointerException异常(运行时异常)。引用传递:多个栈内存指向同一个堆内存。1.动态初始化(声明并开辟数组)数据类型[] 数组名称 = new 数据类型[长度];eg:// 声明并开辟一个长度为5的整数数组int[] data = new int[5];(1)数组通过下标索引来取...
2018-11-23 12:03:16 237
原创 JavaSE - 方法定义
方法1.方法定义方法是一段可以被重复调用的代码块// 主类中定义的方法,直接在主方法中调用public static 方法返回值 方法名称( [参数类型 变量...] ){ 方法体代码; . . . [ return 返回值;]}void 关键字声明的方法没有返回值,但是可以 return ;表示当前函数停止,可以用return 结束函数的调用。...
2018-11-22 17:41:31 221
原创 JavaSE - 程序结构
一、分支结构1. if 语句以下为 if 语句的两种形式if(布尔表达式){ // 条件为真执行}else{ // 条件都为假执行}if(布尔表达式){ // 条件为真执行}else if(布尔表达式){ // 条件为真执行}...else{ // 条件都为假执行}2. switch 语句switch(数字|字符|枚...
2018-11-22 16:50:11 266
原创 JavaSE - 数据类型与运算符(2)
二、运算符1.自增自减(++ --)a++ 、a-- :先用再自增 / 自减++a 、--a :先自增 / 自减再用int a = 1;int b = 2;int c;int d;int e;int f;c = a++;d = a--;e = ++b;f = --b;结果:c = 1, d = 2, e = 3, f = 22.三目运算符(布尔...
2018-11-21 20:24:11 278
原创 JavaSE - 数据类型与运算符(1)
一、java数据类型划分 -- 8大基本数据类型八大基本数据类型:byte、short、int、long、float、double、char、boolean数据类型的默认值需要结合类来观察,主方法中需要先赋值再使用,不存在默认值。1.数值型(1)整型 - 默认值为 0byte(-128 ~ +127)short(2个字节:-2^15 ~ 2^15-1)int(4个字节:...
2018-11-21 18:47:25 266
原创 JavaSE - 标识符与命名
一、java注释1.单行注释://2.多行注释:/* /(不推荐使用,需要多行注释时使用文档注释)3.文档注释:/* */(用在类或者方法上描述类与方法作用以及参数作用)二、java标识符对于java标识符,有三点要求:1.标识符由字母、数字、_ 、$ 组成,其中不能以数字开头,不能用java中的保留字(关键字)。2.标识符采用有意义的简单命名。3.“ $ ” 不要在代码中出...
2018-11-21 18:05:06 180
原创 星星之火,可以燎原
作为一个混到大二的计算机学生,在经过了无数次对未来的担忧、迷茫以及恐慌之后,终于下定决心要努力学好专业知识。尽管已经对编程有了一点点浅薄的了解,却仍觉得它很神奇,一串串代码汇合起来有条不紊的工作,变成一个个有着不同功能的整体,把大千世界都联系起来,这一切都是那么的妙不可言。而我,正在努力地去体会这些妙不可言。 这学期课多一点,每天可以抽三小时来敲代码,然后每天的一些琐碎时间都可以用来思索今天学到...
2018-04-20 19:02:15 151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人