
java参考资料
很多都是网上查资料,但是回头又得去查,而且自己不实现一下,终是纸上得来终觉浅。
徐静清
静而徐清,动而徐生
展开
-
java-输出流的两种常见操作
【代码】java-输出流的两种常见操作。原创 2023-12-01 16:31:06 · 425 阅读 · 0 评论 -
java-输入流的两种常见操作
【代码】java-输入流的两种常见操作。原创 2023-12-01 15:53:15 · 389 阅读 · 0 评论 -
java_双括号初始化
在构建匿名内部类的时候,可以用双括号构建一个初始化对象的代码块。原创 2023-11-30 14:15:45 · 411 阅读 · 0 评论 -
java_内部类
局部内部类不能用访问修饰符修饰,作用域就在声明这个局部内部类的块中。第二个有点就是可以访问作用域存在的这个块的局部变量,这些变量属于事实最终变量,实际上算是在生成局部内部类是形成了一个拷贝一样的字段,及时局部变量出来作用域,局部内部类里还是可以用。使用内部类只是为了把一个类隐藏在另外一个类的内部,并不需要内部类有外部类的引用,就可以将这个内部类声明为static类型。1.只要内部类不需要访问外部类对象,一般就应该声明为静态内部类。2.与常规内部类不同,静态内部类可以有静态字段和方法。原创 2023-11-30 14:01:45 · 415 阅读 · 0 评论 -
java_内部类
内部类转换的.class文件和外部类在一块,用美元符号$分隔,outerclass$innerclass.clss。所以给类命名时,最好不要用到$符号,保留给系统使用。原创 2023-11-30 10:44:56 · 375 阅读 · 0 评论 -
java_内部类
2.内部类方法可以访问定义这些方法的作用域中的数据,包括私有数据(内部类的对象会有一个隐式引用,指向实例化这个对象的外部类对象,通过这个引用(指针),内部类可以访问外部对象的全部状态,权限等于this,这个是默认的,编译器会修改所有内部类的构造器,添加一个对应外部类引用的参数,当构建内部类对象时,就会吧this指针传进来)1.内部类中声明的所有静态字段必须是final类型,并初始化编译一个常量。1.内部类可以对同一个包中的其它类隐藏。2.内部类不能有static方法。就是内部类最好不要有静态的成员。原创 2023-11-30 10:31:53 · 411 阅读 · 0 评论 -
java_lambda表达式
版权声明:本文为CSDN博主「尘觉」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。语法格式五:若 Lambda 体中只有一条语句, return 和 大括号都可以省略不写。语法格式四:有两个以上的参数,有返回值,并且 Lambda 体中有多条语句。-> 左边:lambda 形参列表的参数类型可以省略(类型推断);语法格式六:Lambda 表达式的参数列表的数据类型可以省略不写,语法格式三:若只有一个参数,小括号可以省略不写。语法格式二:有一个参数,并且无返回值。原创 2023-11-29 19:22:35 · 393 阅读 · 0 评论 -
java_数组引用
数组引用的语法格式是。原创 2023-11-29 19:18:11 · 411 阅读 · 0 评论 -
java_构造器引用
它与函数式接口相结合,自动与函数式接口中方法兼容,可以把构造器引用赋值给定义的方法,但。构造器引用的语法格式是。原创 2023-11-29 19:16:19 · 400 阅读 · 0 评论 -
java-方法引用
1.方法引用的访问符(::),和C++的域访问符好像是一样的,从类里面直接获取方法的引用,用来取代函数接口中的虚函数的函数体的 意思,我感觉,如下面,本来虚函数也是要实现println的函数的内容,就直接将println函数丢进去,根据能推导就可以省略省略的原则,printstring的函数体内容和println的函数体的内容是一样的,都是将s输出到窗口上。myMethod2:通过对象去访问类的成员函数;meMethod3:通过类名访问成员函数,报错了= =myMethod:通过类名访问类的静态方法。原创 2023-11-29 19:01:34 · 356 阅读 · 0 评论 -
java-Consumer接口
首先做一个操作,然后再做一个操作,实现组合。而这个方法就是 Consumer 接口中的 default 方法 andThen。Consumer 接口中包含抽象方法 void accept(T t) ,意为消费一个指定泛型的数据。如果一个方法的参数和返回值全都是 Consumer 类型,那么就可以实现效果:消费数据的时候,就是先接受参数“Hello”,然后再把“Hello”返回。原创 2023-11-28 20:15:20 · 359 阅读 · 0 评论 -
java-Supplier接口
T指定了返回类型,类型推导。至于get里面实现什么内容,可以根据自己需要来写。注意如果有参数的时候,lambda表达式的参数和所在的函数的局部变量的参数名称不能冲突。接口仅包含一个无参的方法: T get()。用来获取一个泛型参数指定类型的对象数据。java.util.Function.Supplier<T> 标准的函数式接口。传入lambda表达式的局部变量的值也不能改变。原创 2023-11-28 20:02:20 · 697 阅读 · 0 评论 -
java-常用的函数式接口
java.util.function.Supplier<T> 接口仅包含一个无参的方法: T get()。java.util.function.Function<T,R> 接口用来根据一个类型的数据得到另一个类型的数据,前者称为。然后再做一个操作,实现组合。Function 接口中最主要的抽象方法为: R apply(T t) ,根据类型 T 的参数获取类型 R 的结果。数组当中有多条 “ 姓名 + 性别 ” 的信息如下,请通过 Predicate 接口的拼装将符合要求的字符串筛选到。转载 2023-11-28 17:55:55 · 88 阅读 · 0 评论 -
java-函数式编程
这个接口的抽象函数,是没有参数的,所以lanbda表达式->的左边是();上面执行这个log函数的时候,实参到形参的过程一定会完成三个字符串的拼接工作,但是如果lever不是1级的,那拼接的msg也用不上,相当于做了无用功,直观感受就是浪费性能。首先是传递参数,会验证level这个判断,而lanbda表达式的内容只有在需要的时候,才会用到,也就是调用。上面的博客讲的很清楚哈,但是我还是想自己敲一下,印象深刻一些,所以算是炒现饭啦。的时候,需要这个接口的实现的对象的时候,才会传递进去。原创 2023-11-28 17:53:02 · 384 阅读 · 0 评论 -
Java -函数式接口
上面的doSomething方法需要一个MyfunctionInterface的参数,但是接口是不能实例化的,肯定要传实现该接口的子类的对象进去,但是利用匿名内部类的方式,我们可以实例化一个这样的对象,相当于他的子类的对象吧,在其中实现了它的抽象方法。我的理解是,因为接口只有一个待实现的方法,所以写lambda表达式的时候很好匹配上,传进来的代码块就是待实现的这个抽象方法的具体执行方式。主要是要看到lambda表达式,要先了解什么是函数式接口。原创 2023-11-28 17:29:11 · 362 阅读 · 0 评论 -
java的事件监听
这个类相当于一个中间内容,因为在后面(老师)执行了被监听的动作(布置作业后),需要通知到listener,通知到学生listener的时候,我们会希望学生能够知道是谁不知了作业,也就是事件源是谁(要是二班的学生把三班老师布置的作业也做了,不是很亏)。以学生为例:先定义一个HomeWorkListener的接口,定义一个update的方法,当然也可以是其他方法,反正后面都是手动通知的,通知到哪个方法,执行哪个方法就行。事件源发生了XXX事件,就要自己通知监视器,监视器会回调对应的响应函数,执行响应的操作。原创 2023-11-23 11:20:17 · 73 阅读 · 0 评论 -
1.观察者模式
还是沿袭网上将的老师和学生的例子吧,老师是被观察者,学生是观察者,老师的行为会影响到学生,学生会参数相应的行为。但是代码里,学生这个对象肯定是没有眼睛的,他不会看到老师这个对象的状态发生改变了,是不是执行了我们期待的行为(就是函数)。所以还是得老师在执行这个行为的时候告诉学生,我执行了这个行为(布置作业了,你赶快完成,老师不说,学生肯定装聋作哑不去做作业啊)。你发过,我收到,回到原点,等待下一次。这个就是被观察者去通知观察者,我发生改变了,相当于老师说:注意啊,作业布置了,在黑板上,自己看。原创 2023-11-23 10:57:38 · 47 阅读 · 0 评论