Java基础
ZmyCoder
学习笔记
展开
-
Java日期格式化
日期转为指定格式字符串package org.maoge.common;import java.text.SimpleDateFormat;import java.util.Date;public class SimpleDateFormatDemo { public static void main(String[] args) { //默认输出格式 Date date=new Date(); System.out.println(date);//Fri Oct 27 16:56:3转载 2021-04-02 17:04:48 · 363 阅读 · 0 评论 -
java开发插件
最近想要用java开发一个插件。前提插件使用idea开发,插件项目选择java项目,导出为jar包作为插件使用。使用处采用URLClassLoader加载器加载,反射调用。一个简单的插件调用处@Testpublic void test13() throws Exception { File file = new File("E:\\javaWorkSpace\\simple-plugin\\out\\artifacts\\simple_plugin_jar\\simple-plugin.原创 2021-03-26 18:53:34 · 2107 阅读 · 0 评论 -
Java----值类型和引用类型
一、值类型与引用类型int num=10;String str="hello"num是int基本类型变量,值就直接保存在变量中。str是String引用类型变量,变量中保存的只是实际对象对应的地址信息,而不是实际对象数据。对于基本类型变量num,赋值运算符将会直接修改变量的值,原来的数据将被覆盖掉,被替换为新的值。对于引用类型变量str,赋值运算符只会改变变量中所保存的对象的地址信息,原来对象的地址被覆盖掉,重新写入新对象的地址数据。但原来的对象本身并不会被改变,只是不再被任何引用所指向的原创 2021-02-23 10:04:20 · 388 阅读 · 0 评论 -
方法的重写(覆盖),访问权限修饰符,super
方法的重写(覆盖)在父子类中出现了方法签名一致的方法,遵守重写原则(两等两小一大)两等:一等:方法签名一致二等:如果父类的方法的返回值是void/基本数据类型`,子类方法的返回值类型要和父类一致两小一小:如果父类的方法返回值类型是引用数据类型,那么子类的返回值类型要么与父类返回值类型一致,要么是其子类(返回值类型可以是父类,也可以是其子类)二小:子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等一大:子类方法的访问权限应比父类方法的访问权限更大或相等转载 2021-01-28 17:36:03 · 318 阅读 · 0 评论 -
Java泛型
飞机票转载 2020-12-30 18:41:00 · 61 阅读 · 0 评论 -
java8新特性-Stream流
转自菜鸟教程什么是StreamStream(流)是一个来自数据源的元素队列并支持聚合操作元素是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。数据源 流的来源。 可以是集合,数组,I/O channel, 产生器generator 等。聚合操作 类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。和以前的Collection操作不同, Stream操作还有两个基础的特征:Pipelini转载 2020-12-14 16:27:54 · 107 阅读 · 0 评论 -
继承的思考
当程序创建一个子类对象时,系统不仅会为该类中定义的实例变量分配内存,也会为它从父类继承得到的所有实例变量分配内存,即使子类定义了与父类中同名的实例变量。也就是说,当系统创建一个Java对象时,如果该Java类有两个父类(一个直接父类A,一个间接父类B),假设A类中定义了2个实例变量,B类中定义了3个实例变量,当前类中定义了2个实例变量,那么这个Java对象将会保存2+3+2个实例变量。...原创 2021-01-28 22:16:28 · 167 阅读 · 3 评论 -
匿名代码块、静态代码块和构造函数
匿名代码块、静态代码块和构造函数1、执行顺序:静态代码块、匿名代码块、构造函数。public class Student{ { System.out.println("匿名代码块"); } static{ System.out.println("静态代码块"); } public Student(){ System.out.println("构造函数"); } public static void main(String[] args){ System.out.原创 2020-08-28 13:33:54 · 342 阅读 · 0 评论 -
Java抽象类和接口
Java抽象类和接口1、抽象类关键字:abstract不能new这个抽象类,只能被子类实现。类只能单继承抽象类可以有抽象方法,也可以有普通方法;但是抽象方法被须在抽象类中。抽象类可以有普通成员变量。继承了抽象类的普通子类,必须重写抽象类的所有抽象方法。public abstract class Demo1{ private int a; { a = 5; } public void run(){ System.out.println("普通r原创 2020-08-28 13:34:26 · 103 阅读 · 0 评论 -
Java中的static关键字
Java中的static关键字static修饰变量,则该变量为类变量(静态变量),可以并且推荐通过***类名.变量名***进行调用。也能够通过对象进行调用PS.常用于多线程static修饰方法,则该方法为类方法(静态方法),可以并且推荐通过***类名.方法名***进行调用。也能够通过对象进行调用静态方法不能调用普通成员方法(因为静态方法在加载类时就存在了;而普通方法在加载类时并不存在、需要new对象后才存在)静态方法不能调用普通成员变量,原因同上 public cl原创 2020-08-28 13:34:59 · 116 阅读 · 0 评论 -
内部类
内部类**定义:**内部类就是在一个类的内部再定义一个类。成员内部类外部类对象.new 内部类内部类可以直接访问外部类的私有成员变量和私有方法public class Outer{ private int id = 10; private void out(){ System.out.println("外部类方法"); } public class Inner{ public void in(){ System.out.println(""内部类方法");原创 2020-08-28 13:33:12 · 143 阅读 · 0 评论 -
Lambda表达式
Lambda表达式作用避免匿名内部类定义代码简洁函数式接口任何一个接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口public interface Runnable{ public abstract void run();}对于函数式接口,我们可以通过lambda表达式来创建该接口的对象推导lambda表达式//函数式接口interface Like{ void likeLambda();}//1、外部类class ILike imple原创 2020-08-28 13:32:39 · 151 阅读 · 0 评论 -
HashCode
HashCode转自https://www.cnblogs.com/whgk/p/6071617.html一、hashcode是什么?1、hash和hash表是什么?想要知道这个hashcode,首先得知道hash,通过百度百科看一下hash是一个函数,该函数中的实现就是一种算法,就是通过一系列的算法来得到一个hash值,这个时候,我们就需要知道另一个东西,hash表,通过hash算法得到的hash值就在这张hash表中,也就是说,hash表就是所有的hash值组成的,有很多种hash函数,也转载 2020-08-29 13:20:09 · 204 阅读 · 0 评论 -
Java注解
Java注解什么是注解给程序做出解释,可以被其他程序通过反射读取格式:@注释名无参数注解:@Override有参数注解:@Retention(value = RUNTIME) || @Retention(RUNTIME)Ps:若注解只有一个参数切参数名为value时,则参数名可省略元注解元注解负责注释其它注解@Target描述注解的使用范围,用于方法、用于类等等。。。@Retention表示需要在什么级别保存该注释信息,描述注解的生命周原创 2020-08-30 11:39:50 · 110 阅读 · 0 评论 -
Java反射
Java反射1. 静态语言和动态语言动态语言在运行时能够改变代码自身结构的语言。eg:PHP、Python、C#静态语言运行时结构不可改变的语言。eg:Java、C++、C2. 获得反射对象一个加载的类在JVM中只有一个实例Class类的三种创建方式Class c1 = Class.forName(“包名.类名”);Class c1 = person.getClass();//对象.getClass()Class c1 = Person.class;//类名.c原创 2020-08-30 14:04:46 · 73 阅读 · 0 评论 -
Java多线程
Java多线程创建线程的方法继承Thread类继承Thread类,重写run方法,通过**线程类实例.start()**方法开启线程。public class TestThread1 extends Thread{ @override public void run(){ System.out.println("线程run方法!"); } public static void main(String){ new Tes原创 2020-08-28 13:31:34 · 903 阅读 · 0 评论 -
稀疏数组
稀疏数组1、定义稀疏数组是普通数组的压缩。(这里所说的普通数组特征是:无效数据个数远远多于有效数据个数)普通数组:0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 0 00 0 0 0 2 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0原创 2020-08-25 16:05:54 · 90 阅读 · 0 评论 -
Java可变参数
Java可变参数一个方法中只能声明一个可变参数可变参数必须是最后一个参数,即任何一个普通参数都必须在它之前声明。public class Test{ public static void testDemo(int a,double... args){ for(int i = 0;i < args.length;i++) System.out.printlin(args[i]); return; } public static void ma原创 2020-08-25 16:05:08 · 82 阅读 · 0 评论 -
Java数组初始化
Java数组初始化//step1 声明数组int[] array;//step2 创建数组对象array = new int[10];//step3 数组赋值array[0] = 10;array[1] = 10;array[2] = 10;array[3] = 10;array[4] = 10;...[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XUcyDFD1-1598342660589)(C:\Users\zmy\AppData\Roaming原创 2020-08-25 16:04:41 · 175 阅读 · 0 评论