CoreJava核心技术卷一 笔记
文章平均质量分 60
CoreJava核心技术卷一 自学讲义:D
Peiwen123
Clear code
展开
-
java自学讲义 多线程
本文是学习笔记来自于 How2J网站 强烈推荐!一.创建线程的三种方法1.继承Thread类public class KillThread extends Thread{}然后在主函数中这样调用:KillThread killThread1 = new KillThread(gareen,teemo);killThread1.start();2.实现Runnable接口publ...原创 2018-12-29 14:05:17 · 197 阅读 · 0 评论 -
java 自学讲义 I/O部分
CoreJava看的属实有点累, 沉不下心来看, 找了一个比较简单的网站 HOW2J 感觉还不错一.文件对象常用的一些方法: File f = new File("d:/LOLFolder/LOL.exe"); System.out.println("当前文件是:" +f); //文件是否存在 System.out.printl...原创 2018-12-24 07:42:01 · 186 阅读 · 0 评论 -
Java基础 自学讲义 卷2 一.流库
终于开始学卷二啦~原创 2018-12-23 12:16:32 · 168 阅读 · 0 评论 -
随机获得map/json中的一组键值对
java如果在一个给定的map中取出随机的一个键值对呢?首先测试一下, 先写一个map做测试用, 当然是我们最喜欢的4am啦:import java.util.*;class Untitled { public static void main(String[] args) { Map<String ,String> a = new HashMap<>();...原创 2018-12-21 02:48:03 · 2219 阅读 · 0 评论 -
java中的闭包(匿名内部类和lambda表达式)
今天在写js的时候遇到了一个问题, 情况大概是这样的: 我希望在for循环中为一个标签添加onclick属性, 但是我发现最终添加的onclick属性始终是最后一次for循环中的i值, 情况是这样的:然后我联想到了CoreJava中的一段话:关于代码块以及自由变量值有一个术语: 闭包。如果有人吹嘘他们的语言有闭包,现在你也可以自信地说 Java 也有闭包。在 Java 中,lambda 表达...原创 2018-12-14 05:04:16 · 1244 阅读 · 2 评论 -
java中抽象类也需要构造函数 抽象类可以被实例化
今天被问到抽象类要不要有构造函数的时候, 我随口一答应该是没有的, 我以为, 抽象类是不能直接用new来被实例化的, 所以也就不需要再去写构造函数了;随后查了一下明白:抽象类也需要构造函数, 在大多数情况中抽象类往往是要被继承的, 在子类的构造函数中往往会调用父类的构造函数, 在这种情况下就需要父类(抽象类)来提供构造函数来调用super了, 当然如果没有提供的话就会调用默认的构造函数了- -...原创 2018-12-13 05:11:59 · 2634 阅读 · 0 评论 -
swing中容器设置布局null后组件不显示问题[Solved]
今天写swing的时候遇到一个小问题, 我对一个JFrame使用的setlayout为null, 我对每个组件使用setbounds去设置位置和大小, 但是结果组件没有显示出来, 经过长时间的排查, 发现问题是出在所加组件的大小上;在容器中加的组件不能超出容器的边界, 否则无法显示发现问题之后遂缩小组件的大小, 问题得以解决原创 2018-12-09 04:06:12 · 3040 阅读 · 5 评论 -
Java基础 自学讲义 11. 并发
目录一. Overview二. 中断线程&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;1. 流布局FlowLayout&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;2. 边框布局BoderLayout&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;3.网格布局GridLayout原创 2018-11-27 08:07:05 · 139 阅读 · 0 评论 -
Java基础 自学讲义 10. 部署Java应用程序
1.Jar文件可以使用Jar来打包发布java程序, 主要由三部分构成:mf文件中包含关于这个jar的一些信息, 比如有main函数的入口类, 作者信息之类的;运行的class文件;其他资源比如图片音频之类的;2.应用首选项的存储java中用property map来存储一些键值对存储一些关于程序的配置信息, 比如size, title之类的信息;3.服务器加载嘿嘿4.apple...原创 2018-11-18 08:06:18 · 122 阅读 · 0 评论 -
Java自动装箱拆箱机制理解(Autoboxing and unboxing) 坑 -.-#
今天在写GUI的时候遇到了一个问题, 我在写ActionListener的时候写出了类似这样的代码: JComboBox<Integer> aComboBox = new JComboBox<>(); aComboBox.addActionListener(event->{ text.setFont(new Font("Se...原创 2018-11-12 09:43:58 · 492 阅读 · 0 评论 -
Java捕获鼠标响应(求婚大作战~)
想起来高中的时候马菊花老师给我们用VB写的一个有意思的点不到NO的小游戏, 今天自己也写了一个玩一哈~先上效果:就是点不到No啦, 只能点Yes原创 2018-11-10 06:51:24 · 515 阅读 · 1 评论 -
Java中创建事件监听器的五种方法
在Java中处理事件的办法最原始的方法如下一.使用内部类一个个设置Button然后创建一个内部类, 用ActionPerformed来实现按钮事件内容;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import ...原创 2018-11-06 09:04:30 · 10516 阅读 · 1 评论 -
Java8中排序算法比较器的三种写法(使用lambda表达式实现Comparator比较器)
在涉及到数组, 集合等这些地方经常会需要用到排序算法, 在Java中的Collections类中有sort方法, 除了需要传入一个Comparator比较器, 或者需要排序的类实现了Comparable接口;完整的测试代码附在最后面~1.使用lambda表达式我写了3种lambda表达式的写法:第一种的解释可以看小标题3;后面两种本质上是一个意思, 传入2个量, 返回比较他们的结果, p...原创 2018-11-03 09:09:59 · 6940 阅读 · 2 评论 -
Java中ForEach语法的局限性
foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。要注意, Java中的ForEach是只读的, 只能用于读取值, 不能用于修改数组和赋值;比如下面的例子是不能成功给数组赋值的:...原创 2018-10-24 01:30:32 · 602 阅读 · 0 评论 -
Java遍历Map的五种方法(Java8中新lambda方法)
遍历Map的方法, 我总结了5种, CoreJava中给出的是第一种使用forEach+lambda表达式, 我认为这种方法应该是最好的, 但是只能在Java8之后的版本使用;建议优先使用第一种和第四种(类似第二种);遍历Map:第一种可以使用Map的forEach方法加上Java8的lambda表达式:aMap.forEach( (k,v)-&amp;gt;{System.out.println...原创 2018-10-14 05:35:18 · 50859 阅读 · 2 评论 -
Java强制类型转换的理解
在Java中的强制类型转换和C语言中还是有一些区别的;进行类型转换的唯一原因是: 在暂时忽视对象的实际类型之后, 使用对象的全部功能。比如,我们可以定义一个父类的对象,然后引用某一个子类的对象,但是此时这个对象是不能直接访问子类的私有方法,如果想要访问子类的方法,需要用强制类型转换,如下://假若父类对象占1M的内存,因为子类对象有一些其他内容,所以多占用0.5M内存,子类对象一共占1.5M...原创 2018-09-24 05:56:25 · 1273 阅读 · 0 评论 -
Java多态和动态绑定的简单理解
废话不多说,先放上一段测试代码: People[] stuff = new People[3]; RichPeople rich = new RichPeople(&quot;Recluse&quot;, 20, 1080, 3000); stuff[0] = rich; stuff[1] = new People(&quot;John&quot;,18,100); stuff[2] = new People(&am原创 2018-09-24 05:58:19 · 496 阅读 · 0 评论 -
Java基础 自学讲义 9. Swing用户界面组件
Swing用户界面组件因为Swing可能现在已经不太流行了, 所以学快一点啦~嘤嘤嘤原创 2018-11-11 04:43:16 · 526 阅读 · 0 评论 -
Java基础 自学讲义 8.事件处理
目录一. 事件处理基础&amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;nbsp;1. 实例:处理按钮点击事件&amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;nbsp;2. 简洁的指定监听器&amp;amp;amp;amp;amp;amp;amp;nbsp;&原创 2018-11-05 05:47:20 · 283 阅读 · 0 评论 -
Java基础 自学讲义 7.GUI入门
这次不想完全按照书上来写, 按自己学的顺序和方法来写, 记录一下自己的学习过程吧;一.简单范例尝试1.初体验先试试看怎么写出来一个gui界面吧, 第一段代码如下:原创 2018-10-23 08:05:23 · 244 阅读 · 0 评论 -
Java基础 自学讲义 6.Java集合框架
Java集合框架这个东西应该是类似于C++的STL标准库, 便于使用一些常见的数据结构:D目录一.Java集合框架&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;1. 泛型类二. 泛型代码和虚拟机一.J原创 2018-10-12 06:42:30 · 1038 阅读 · 0 评论 -
Java基础 自学讲义 5.泛型程序设计
目录一.泛型简单例子二.捕获异常&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;1.try-catch语法一.泛型简单例子泛型程序设计(Generic programming)为什么会出现呢? 我个人理解是有2个原因的:1.数组的长度一旦设定了就不能改变了, 在C++中必须设定固定长度的数组, 在java中虽然数组长度可以是变原创 2018-10-07 05:44:51 · 228 阅读 · 0 评论 -
Java基础 自学讲义 4. 异常 断言和日志
目录一.处理错误二.捕获异常&amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;nbsp;1.接口基本定义一.处理错误在我们写程序的时候可能会遇到各种各样的错误:有的是因为代码写错了, 比如逻辑错了, 语法错了, 数组越界了, 死循环了(这些不能异常处理, 只能自己好好debug改一改哈哈)等等原因;也可能是因为其他原因比如我希望在某个地方打开一个文档, 但是该路径下并没有这个文件, 或者没有权限打开这个文件;也有原创 2018-10-03 06:26:46 · 525 阅读 · 0 评论 -
Java基础 自学讲义 3.接口 lambda表达式和内部类
目录一.接口1.接口基本定义2.一.接口1.接口基本定义所谓接口就是某个类的一些方法的声明集合, 用于整理这个类的一些需要用的方法, 我感觉类似于C++中的.h头文件, 在接口中只做一些声明而不做具体的定义, 具体的定义放在类的实现中;比如Comparable接口, 这是一个泛型接口, 例如: public interface Comparable&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt原创 2018-09-23 08:43:32 · 274 阅读 · 0 评论 -
Java基础 自学讲义 2. OOP部分特性
一.对象与类1.预定义类在 Java 中, 任何对象变量的值都是对存储在另外一个地方的一个对象的引用。new 操作符的返回值也是一个引用。 比如在使用标准库中的Date类时,构造某个对象的新的实例的时候一定要使用构造器constructor去new一个类,直接定的话相当于只是定义了一个指针;Date birthday;System.out.println(birthday);/...原创 2018-08-25 01:43:42 · 506 阅读 · 0 评论 -
Java基础 自学讲义 1. 语法基础
今天开始看CoreJava Vol.1学Java啦 嘤嘤嘤; 我的环境是macos;一.编译运行java程序编写好java程序后保存为code.java,当前目录下终端里使用javac code.java 这会在当前目录生成一个code.class 然后终端中使用java code就可以执行这个java代码;二.基本数据类型1.注释可以用// 或者/* &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp; */原创 2018-08-21 02:25:49 · 380 阅读 · 0 评论