![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
yuuuuuuukko
这个作者很懒,什么都没留下…
展开
-
Java第20天-同步锁问题
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190424152701418.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0MzQzMjQ5,size_16,color_FFFFFF,...原创 2019-04-24 21:27:47 · 104 阅读 · 0 评论 -
Java第十五天-Set
set ;存储无序的,不可重复的元素,没有新增的方法,用的都是Collection下定义的方法set中可以添加 null,无序性不等于随机性,指的是元素在底层存储的位置是无序的不可重复性,当想set中添加相同元素的时候,后面的这个不能添加进去要求添加进set中的元素所在的类,一定要重写equals()和hashCode()方法,保证set的不可重复性Set中的元素如何存储的呢?使用了哈希算...原创 2019-04-12 15:19:54 · 83 阅读 · 0 评论 -
Java第十五天-list
indexof:如果没有此元素,则结果过显示为-1sublist:返回从fromIndex到toIndex结束的左闭右开的一个子list,即toIndex不包含toIndex下标的元素 // add(int index,object ele),在指定索引位置index添加元素ele List list = new ArrayList(); list.add(123); list.add(...原创 2019-04-11 14:54:02 · 112 阅读 · 0 评论 -
Java第十四天-处理异常的第二种方式
对异常不进行显式的处理,而是将它抛给上一层,throw 和 throws的区别throws写在方法的声明中,自动抛出,是抓抛模型中,抓的部分,throws + 异常类型throw是抛的方式,手动抛出, throw + 异常类型的对象如何自定义一个异常类1.自定义的异常类继承现有的异常类2.提供一个序列号,提供几个重载的构造器子类重写的父类的方法,其抛出的异常类型只能是被重写的方法的异...原创 2019-04-05 10:55:20 · 76 阅读 · 0 评论 -
Java第十三天-异常
Error :程序中不进行处理Exception:异常, 要求在编写程序时,就要考虑到对这些异常的处理1.try内声明的变量,类似于局部变量,出了try语句就不能被调用2.finally是可选的3.catch语句内部是对异常对象的处理getMessage( ); printStackTrace( );4.可以有多个catch语句,try中抛出的异常类对象从上往下匹配catch...原创 2019-01-08 13:28:06 · 115 阅读 · 0 评论 -
Java第十二天-内部类
为什么需要内部类 一般来说,内部类继承自某个类或实现某个接口,内部类的代码操作创建它的外围类的对象。所以可以认为内部类提供了某种进入其外围类的窗口。 内部类必须要回答的一个问题是:如果只是需要一在这里插入代码片个对接口的引用,为什么不通过外围类实现那个接口呢?答案是:“如果这样能满足需求,那么就应该这样做。” 那么内部类实现一个接口与外围类实现这个接口有什么区别呢?...原创 2018-12-17 21:48:19 · 98 阅读 · 0 评论 -
Java第八天-多态性
面向对象的特征三:多态性1.多态性指的是什么?多态性,可以理解为一个事物的多种表型形态1)方法的重载与重写2)子类对象的多态性虚拟方法调用:通过谷类的引用指向子类的对象实体,当调用方法时,实际执行的时子类重写父类的方法虚拟方法调用:通过谷类的引用指向子类的对象实体,当调用方法时,实际执行的时子类重写父类的方法2.子类对象的多态性使用的前提1)要有类的继承2)要有子类对父类方法的重...原创 2018-12-11 18:43:17 · 90 阅读 · 0 评论 -
Java第十二天-接口
接口是与类并行的一个概念1.接口可看做是一个特殊的抽象类。是常量与抽象方法的一个集合2.接口是没有构造器的3.接口定义的就是一种功能,此功能可以被类所实现比如:class CC extends DD implements AA4.实现接口的类,必须要重写其中所有的抽象方法,方可实例化。若没有重写所有的抽象方法,则此类为一个抽象类5.在java中,继承只能怪是单继承,而类可以实现多个接...原创 2018-12-17 16:30:07 · 110 阅读 · 0 评论 -
Java第八天—super
super:可以用来修饰属性,方法,构造器(前提是有继承关系)1)当子类与父类中有同名的属性时,可以通过“super.属性”显式的调用父类中声明的属性。若想调用子类的同名属性,则用“this.属性”、2)当子类重写父类的方法后,再子类中若想再显式的调用父类的被重写的方法,就需要用“super.方法”...原创 2018-12-11 09:15:16 · 77 阅读 · 0 评论 -
Java第七天-面向对象高级特性
面向对象的特征二:继承1.为什么要设计继承?子类对父类的扩展通过”class A extends B“实现继承子类 A ,父类(或基类)B3.子类继承父类之后,父类中声明的属性,方法,子类可以获取明确:当父类中有私有的属性或方法时,子类同样可以获取的到,只是由于封装性的设计,使得子类不可以直接调用该属性,需要通过方法来调用方法的重写:1.前提:有子类继承父类2.子类继承父类之...原创 2018-12-10 16:09:34 · 110 阅读 · 0 评论 -
Java第十六天-map
实线表示继承,虚线表示实现/* * Object put(Object key,Object value):向map中添加一个元素 Object * remove(Objectkey):按照指定的key删除此key-value Object * get(Objectkey):获取指定key的value值,若无此value,则返回null * 遍历Map的方法: * S...原创 2019-04-12 21:40:45 · 90 阅读 · 0 评论 -
Java第十六天-集合面试题
Collection 和 Collections的区别答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用还是equals()? 它们有何区别答:Set里的元素是不能重复的,那么用...原创 2019-04-12 21:41:28 · 76 阅读 · 0 评论 -
Java第十五天-集合
1.存储对象可以考虑使用:1)数组2)集合2.数组存储对象的特点,Student[] stu = new Student [20];stu[0] = new Student()…弊端:①一旦创建,长度就不可变,假如创造了20个对象,第21个就无法创建②虽然创建了20个空间,但真实的数组存放的对象的个数是不可知的 Collection<E> coll = new TestCo...原创 2019-04-09 20:01:59 · 126 阅读 · 0 评论 -
Java第十九天-线程
package day19;/* * 创建一个多线程,完成1-100自然数的输出 */public class TestThread {public static void main(String []args){// 3.创建一个子类的对象 SubThread st = new SubThread(); //4.调用小城的start(),启动此线程,调用相应的run()方法...原创 2019-04-24 15:05:44 · 86 阅读 · 0 评论 -
Java第十八天-IO流,其他流
//打印流FileOutputStream fos = null;try { fos = new FileOutputStream(new File("D:\\IO\\text.txt"));} catch (FileNotFoundException e) { e.printStackTrace();}PrintStream ps = new PrintStream(fos,tru...原创 2019-04-18 09:42:07 · 107 阅读 · 0 评论 -
Java第十八天-IO流,缓冲流
缓冲流效率更高两种写入方式,直接用write(String str)则不会换行,需要在其后加上 “\n” ,或者直接用newLine()方法关闭相应的流时,需要先关闭输出流,此问题中先关闭 bufferedWriter流,再关闭输入流保险起见,写完后应加上 flush()方法,进行清空,刷新(对bufferedWriter流)...原创 2019-04-15 14:37:29 · 88 阅读 · 0 评论 -
Java第十八天-IO流,RandomAccessFile类
原创 2019-04-22 15:40:58 · 131 阅读 · 0 评论 -
Java第十七天-IO流,文件流
IO流用来处理设备之间的数据传输,Java中对数据的输入输出操作以“流(steam)”的方式进行java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据节点流:程序直接操作文件处理流:包着节点流或者处理流的流,提高节点流的速率 //从硬盘存在的文件中读取其内容到程序中,使用FileInputSteam //被读取的文件一定要存在,不然会报...原创 2019-04-14 21:12:07 · 150 阅读 · 0 评论 -
Java第十七天-File类
File类1.凡是与输入,输出相关的类,接口都定义在java.io包下2.File是一个类,可以有构造器创建其对象.此对象对应着一个文件(.txt .avi .doc .ppt)或文件目录3.File对象是与平台无关的,任何平台都可以使用4.File中的方法,仅涉及到如何创建,删除,重命名等等,不涉及文件内容的修改,修改文件内容由io流完成5.File类的对象常作为io流的具体类...原创 2019-04-14 14:52:36 · 78 阅读 · 0 评论 -
Java第十七天-枚举与注解
枚举类:为什么要又枚举类?有一些类中的对象是有限个的,可以枚举出来1.如何自定义枚举类//1.提供类的属性,声明为private final,private final String seasonName;private final String seasonDesc;//2.私有化构造器,声明为final的属性在构造器中初始化private Season(String seasonN...原创 2019-04-14 13:03:54 · 106 阅读 · 0 评论 -
Java第十六天-泛型
在集合中没有使用泛型,任何 object 及其子类对象都可以添加进来:类型不安全自定义泛型类,方法1.在集合中使用泛型2.如何自定义泛型类,泛型接口,泛型方法3.泛型与继承的关系4.通配符1.当实例化泛型类的对象时,指明泛型的类型指明以后,对应的类中所有使用泛型的位置,都变为实例化中指定的泛型的类型2.如果我们自定义的泛型类,但没有使用,那么泛型的默认为 object类//声...原创 2019-04-14 11:17:24 · 154 阅读 · 0 评论 -
Java第十六天-集合的工具类,Collections
工具类中大部分的方法都是静态的,可以直接调用,不需要创建对象如:Collections.reverse(List);/* * 操作Collection和Map的工具类:Collections * 排序操作:(均为static方法) reverse(List):反转 List 中元素的顺序 shuffle(List):对 List 集合元素进行随机排序 sort(List):根据元素的...原创 2019-04-12 22:21:44 · 95 阅读 · 0 评论 -
Java第七天-关键字
this1.可以用来修饰属性,方法,构造器2.this理解为当前对象或者当前正在浏览的对象this():可以用来显示的调用当前类的重载的指定的构造器JavaBean,指符合如下标准的Java类1.类是公共的2.有一个无参的公共的构造器3.有属性,且有对应的get,set方法Import:1)显式导入指定报下的类或接口2)写在包的声明和源文件之间3)如若需要引入多个类或接口,那...原创 2018-12-10 14:09:37 · 129 阅读 · 0 评论 -
Java第六天-面向对象的特征
面向对象的特征一:封装与隐藏问题:当创建了类的对象以后,如果直接通过“对象。属性”的方式对相应的对象赋值的话,可能会出现不满足实际情况的意外出现,我们考虑不让对象来直接作用属性,而是通过“对象。方法”的形式,来控制对属性的访问,实际情况中,对属性的要求就可以通过方法来体现解决的方法:(封装)将类的属性私有化,提供公共的方法(set & get)来实现调用二.权限修饰符:publ...原创 2018-12-09 19:32:10 · 78 阅读 · 0 评论 -
Java第九天-JUnit加载
@Testpublic void m(){ System.out.println("傻瓜");}@Testpublic void m2(){ System.out.println("aaaaa");}用的时候双击方法名,右键 run as JUnit Text原创 2018-12-12 22:09:43 · 73 阅读 · 0 评论 -
Java第九天-equals:& String
==1.基本数据类型,根据基本数据类型的值判断是否相等。相等返回true,反之返回false(只比较值是否相等,与数据类型无关)2.引用数据类型,比较引用类型变量的地址值是否相等equals:1.只能处理引用数据类型2.在object中发现equals()仍然比较的是两个引用变量的地址值是否相等!对于String类型的数据来说:String类中重写了equals方法,所以具体比较的不再...原创 2018-12-12 20:39:08 · 131 阅读 · 0 评论 -
Java学习第三天-break和continue的使用
* break:使用在switch-case中或者循环中,如果使用在循环中,表示结束当前循环 * continue:使用再循环结构中,表示跳出“当次”循环 * 可以使用标签,表示结束此标签的循环在break和continue语句之后不能添加其他语句,永远不可能执行程序执行到break或者continue后就会直接跳出循环,不会进行下面的操作...原创 2018-12-05 20:08:29 · 166 阅读 · 1 评论 -
Java学习第三天-循环结构
1.forfor(1.初始化条件;2.循环条件;3.迭代条件){4.循环体}执行顺序,1-2-4-3,当循环 条件不满足,就退出当前循环初始化条件不一定是数值,2.whilefor跟while可以相互转换while和dowhile的区别就是循环的执行顺序不一样dowhile至少会执行一次循环,因为while是先判断,符合条件再执行一般情况下,再无限循环内部要有种植程序的语句...原创 2018-12-05 19:47:31 · 88 阅读 · 0 评论 -
Java第五天-面向对象
一:面向对象思想的落地法则1.设计类,并设计类的成员(成员变量和方法)通过类,来创建类的对象(类的实例化)3.通过“对象.属性”或“对象.方法”来调用,完成相应的功能二:创建的多个对象。彼此互不干扰,各自拥有一套类的属性三:类的属性(成员变量)成员变量 VS 局部变量相同点:1.遵循变量声明的格式:数据类型 变量名 = 初始化值2.有自己的作用范围(作用域)不同...原创 2018-12-07 18:48:08 · 147 阅读 · 0 评论 -
Java学习第二天—三元运算符
三元运算符 (条件表达式)?表达式1:表达式2;要求:表达式1和表达式2为同一种数据类型这种是错误的,运算符一定会有结果,所以结果必须为前面定义的那个数据类型即与表达式1和表达式2的数据类型一致这样是允许的,在原先的三元运算符中再插入一个三元运算符三元运算符在一定程度上可以与if—else互换(三元运算符一定可以转换为if-else,反之不成立)因为三元运算符一定有结果,if...原创 2018-12-03 13:14:46 · 219 阅读 · 1 评论 -
Java学习第一天—基本常识
JAVA学习第一天基本常识软件,按照特定顺序组织的计算机数据何指令的集合,有系统软件和应用软件人机交互方式图形交互,命令行方式命令行基本操作dir:显示目录cd:切换磁盘退 一层 cd…推到根目录 cd/md:创建文件夹rd:删除空目录del:删除文件...原创 2018-12-05 20:39:16 · 120 阅读 · 0 评论 -
Java学习第一天—数据类型
关键字定义:被java语言赋予了特殊含义,用作专门用途的字符串特点:关键字中所有字母都为小写标识符:能自己命名的类,方法,变量等Java中的命名规范变量基本数据类型整数(int ,long ,short , byte):long型数值后面要加 L ,如 45L浮点数(double,float):float型的数值,要再后面加 f 或者 F,如 19.3f字符型(char)...原创 2018-12-05 20:39:31 · 108 阅读 · 0 评论 -
Java学习第一天——进制
对于正数:原码,反码,补码三码合一补码转化为原码先减1再取反,注意第一个数字为符号位例子1111 1111为哪个数?先减一 1111 1110再取反 1000 0001结果为 -1二进制转换为其它进制如需进行十进制转换其它进制,可将十进制先转换为二进制,再进行转换...原创 2018-12-05 20:38:54 · 99 阅读 · 0 评论 -
Java第四天-数组
//1.数组的声明 String []names; int []scores; //2.初始化 //第一种:静态初始化:初始化数组与给数组元素赋值同时进行 names = new String[]{ &quot;张三&quot;,&quot;李四&quot;,&quot;王五&quot; }; //第二种:动态初始化:数组的初始化与赋值时分开进行的 sc原创 2018-12-06 10:49:31 · 101 阅读 · 0 评论 -
java学习第二天-if的使用
Scanner类的运用1.导包2.创建一个Scannner的对象3.调用此对象的相应方法,完成键盘输入的值的获取 Scanner s = new Scanner(System.in); System.out.println("请输入一个数值"); int str = s.nextInt();1.条件判断之间可以嵌套2.如果多个条件之间是互斥的,则没有关系的,多个条件语句上下顺序...原创 2018-12-03 19:59:45 · 90 阅读 · 0 评论 -
Java学习第二天-switch
switch(变量)case 0:case 1:…1.根据变量的值, 选择相应的case去判断,一旦满足case条件,就会去执行case的相应语句。如果到结尾的话,就会执行其下的case语句2.default是可选的,可有可无,而且位置是灵活的3.变量的数据类型:char,byte,short,int 枚举,string(jdk1.7以后新增)4.case 条件1:其中条件只能是值...原创 2018-12-03 21:23:00 · 105 阅读 · 0 评论 -
Java第六天-方法的参数传递
1.形参:方法声明时,小括号内的参数实参:调用方法时,实际传入的参数的值2.规则:Java中的参数传递机制:值传递1)形参是基本数据类型的:将实参的值传递给形参的基本数据类型的变量这种是直接交换,在main方法中直接交换两个变量的值虽然调用了Swap方法,也进行了交换,但是,只是将main方法中的变量的值(10,5)传递给了Swap,交换只在Swap中的局部变量中进行,而外部的mai...原创 2018-12-09 15:11:58 · 95 阅读 · 0 评论 -
Java第十一天-抽象类
abstract:抽象的,可以修饰类,方法1.修饰类:抽象类1)不可被实例化2)即使不可以被实例化,也还是有构造器(凡式类都有构造器),为了保证创建一个类的实例化过程有3)抽象方法一定要在抽象类中4)抽象类中可以没有抽象方法2.修饰方法:抽象方法1)格式:没有方法体,如:public abstract void eat();2)抽象方法只保留方法的功能,而具体的执行,交给继承抽象类...原创 2018-12-14 17:59:26 · 76 阅读 · 0 评论 -
Java第十一天-关键字final
final:最终的,可以用来修饰类,属性,方法1.final修饰类:这个类就不能被继承:如 String类,StringBuffer类,System类2.final修饰方法:方法就不能被冲洗为。如:Object了的getClass()3.final修饰属性,此属性就是一个常量。习惯上,常量用大写字符表示常量再哪里赋值:1.常量不能使用默认初始化2.可以显式的赋值,代码块,构造器3.变量...原创 2018-12-14 13:43:23 · 68 阅读 · 0 评论 -
Java第十一天-初始化块
关于属性赋值的操作(执行顺序):1.默认的初始化2.显式的初始化或代码块(两个结构按照顺序执行)3.构造器中4.通过方法堆对象的相应属性进行修改初始化块(或代码块)1.代码如果有修饰的话,只能用static静态代码块1.随着类的加载而加载,而且静态代码块只加载一次2.可以有输出语句3.多个静态代码块之间按照顺序结构执行4.静态代码块的执行遭遇非静态代码块5.静态代...原创 2018-12-14 12:40:45 · 94 阅读 · 0 评论