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