java基础
林熙
这个作者很懒,什么都没留下…
展开
-
Java基础57对象克隆
Java提高篇——对象克隆(复制)假如说你想复制一个简单变量。很简单:int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short,float,double.long)同样适用于该类情况。但是如果你复制的是一个对象,情况就有些复杂了。假设说我是一个beginner,我会这样写:c...原创 2020-04-16 22:30:32 · 131 阅读 · 0 评论 -
Java基础56练习与Debug
使用反射给一个对象设置属性值,设置好之后,再使用反射把设置好的属性值,输出出来反射类:public class Student { public Student() { // TODO Auto-generated constructor stub } private String name; public String getName() { return name;...原创 2020-04-14 21:31:52 · 177 阅读 · 0 评论 -
Java基础55枚举反射
练习:public class Homework { public static void main(String[] args) throws DocumentException { // 输出的内容只是如何使用dom4j。 解析xml,把解析到的内容封装到对象和集合中 // 第1步: // 使用dom4j 解析xml,导入jar依赖包,先读取xml文件,再开始解析 ...原创 2020-04-13 20:18:33 · 189 阅读 · 0 评论 -
Java基础51死锁 死锁的解决 wait()和notify()
死锁 如果线程1锁住了A,然后尝试对B进行加锁,同时线程2已经锁住了B, 接着尝试对A进行加锁,这时死锁就发生了。 线程1永远得不到B,线程2也永远得不到A,并且它们永远也不会知道发生了这样的事情。为了得到彼此的对象(A和B), 它们将永远阻塞下去。这种情况就是一个死锁。当以下四个条件均满足,必然会造成死锁,发生死锁的进程无法进行下去,它们所持有的资源也无法释放。这样会导致CPU...原创 2020-04-12 17:04:51 · 843 阅读 · 0 评论 -
Java基础54XML XML DTD DOM4J解析
1.XMLXML 是什么?是指可扩展标记语言(EXtensible Markup Language)是一种标记语言,很类似 HTML设计宗旨是传输数据,而非显示数据标签没有被预定义。您需要自行定义标签。(可以自定义标签)被设计为具有自我描述性。是 W3C (是Web技术领域最具权威和影响力的国际中立性技术标准机构)的推荐标准之前学习的对象流的...原创 2020-04-11 20:54:34 · 217 阅读 · 0 评论 -
Java基础52网络编程网络编程 IP与端口 网络协议 OSI参考模型 UDP/TCP 套接字 Socket 简介 TCP Socket UDP Socket
IP与端口IP地址 每个internet上的 主机和路由器都由一个ip地址表示,它包扩网络号和主机号,所有ip地址, 都是32位的,按国际标准, 分为a b c d e 五类 a 0+7位网络号 +主机号 1.0.0.0 到 127.255.255.255 之间 b 10+14位网络号 +主机号 127.0.0.0 到191.255.255.255之间 ...原创 2020-04-08 21:27:13 · 271 阅读 · 0 评论 -
Java基础50线程回顾
Test1:public class Test1 { public static void main(String[] args) { Thread thread = new Thread() { public void run() {//是否必须重写run方法?不是,但是要实现自己需要的功能就必须重写run方法。 pong(); } }; thread.st...原创 2020-04-08 21:06:48 · 1063 阅读 · 0 评论 -
Java基础49线程
进程和线程进程就是:一个或多个线程组成,是一个运行在内存中的程序,他有一块独立的内存空间线程:一个进程可能包含一个或多个线程, 线程就是一条执行线索,多个线程是并发的运行着迅雷:下载就是多线程的。java 当中main 函数 就是一个主线程,也是一条线程而已,可以在主线程当中创建其他的线程线程的创建创建线程有两种方式第一种方式继承Thread类1.继承Thread类2.重写r...原创 2020-04-07 20:21:43 · 121 阅读 · 0 评论 -
Java基础48绝对路径和相对路径
绝对路径和相对路径相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。绝对路径是指目录下的绝对位置,直接到达目标位置。为什么要相对路径?每个机器的路径都不一样的,如果都使用绝对路径。使得工程不通用,为了通用采用相对路径。Test:public class Test1 { public static void main(String[] args) throws...原创 2020-04-07 16:44:09 · 183 阅读 · 0 评论 -
Java基础47Properties类
Properties类properties文件顾名思义,属性文件,从它的名称中直观的理解就是,它应该是可以表示某些属性,是的,可以在它里面定义一些字段,这将不需要我们在代码中书写,这就可以将这些信息从代码中分离出来了,很方便。介绍是Hashtable的子类 ,是一个特殊的建值对。保存的地方是文件key 与 value 都是String类型常用方法方法内容...原创 2020-04-07 10:58:09 · 92 阅读 · 0 评论 -
Java基础46类对象流Serializable接口 RandomAccessFile
对象流当创建对象时,程序运行时它就会存在,但是程序停止时,对象也就消失了.但是如果希望对象在程序不运行的情况下仍能存在并保存其信息,将会非常有用,对象将被重建并且拥有与程序上次运行时拥有的信息相同。可以使用对象的序列化。对象的序列化: 将内存中的对象直接写入到文件设备中对象的反序列化: 将文件设备中持久化的数据转换为内存对象基本的序列化由两个方法产生:一个方法用于序列化对象并将它们写入...原创 2020-04-07 10:54:51 · 199 阅读 · 0 评论 -
Java基础45File类路径分割符字节流字符流带缓冲区的流
1.File类 File类描述的是一个文件或文件夹。 File 定义一下与平台无关的方法用来操作文件 常见的操作 创建: createNewFile() 在指定位置创建一个空文件,成功就返回true,如果已存在就不创建然后返回false mkdir() 在指定位置创建目录,这只会创建最后一级目录,如果上级目录不存在就抛异常。 mkdirs() 在指...原创 2020-04-03 13:25:40 · 230 阅读 · 0 评论 -
Java基础44集合运算、泛型、Map
1.集合运算(数学运算当中的交并补)交集:利用Collection接口提供的retainAll方法来实现方法内容retainAll(Collection<?> c)仅保留包含在指定集合中的这个集合中的元素 //当有需求求集合之间的交集 list1和list2的交集 ,得到list3交集 //声明list1和list2 ArrayList li...原创 2020-04-03 13:19:13 · 386 阅读 · 0 评论 -
Java基础41异常2
自行处理异常方法序号方法以及说明1public String getMessage()返回关于发生的异常的详细信息。这个消息在Throwable 类的构造函数中初始化了。2public Throwable getCause()返回一个Throwable 对象代表异常原因。3public String toString()使用getMessage()的结果返...原创 2020-04-01 09:24:28 · 146 阅读 · 0 评论 -
Java基础43集合与数组的区别
集合与数组的区别数组和集合类都是容器数组长度是固定的,集合长度是可变的。数组中可以存储基本数据类型,集合只能存储对象数组中存储数据类型是单一的,集合中可以存储任意类型的对象。集合类的特点用于存储对象,长度是可变的,可以存储不同类型的对象。集合的储存方式: https://blog.csdn.net/qq_39291929/article/details/81351026图解:https...原创 2020-03-31 21:53:27 · 164 阅读 · 0 评论 -
Java基础42集合
集合集合是存储对象的数据集合容器数组和集合的区别1.数组只能存储同一种数据类型,集合可以存放多重数组类型2.数组长度固定不利于未知类型和数据的解析,集合是不定长的两个特殊集合栈(Stack)栈是Vector的一个子类,它实现了一个标准的后进先出的栈。先进后出(FILO)我们常见的冰箱应该是堆栈,先进后出 public static void main(String[] args...原创 2020-03-31 21:32:12 · 107 阅读 · 0 评论 -
Java基础41异常3异常中与return
异常中与return:import java.util.List;import java.util.ArrayList;public class Test1 { public static void main(String[] args) { // TODO Auto-generated method stub int i = testReturn1(); System.o...原创 2020-03-31 21:29:19 · 149 阅读 · 0 评论 -
Java基础40异常,自行处理
1.什么异常?异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常。异常:在Java中程序的错误主要是语法错误和语...原创 2020-03-30 15:53:02 · 449 阅读 · 0 评论 -
Java39基础_Java中的日期2Calendar
Calendar介绍Date类是从JDK1.1就开始存在的老类,其提供了针对日期进行操作的诸多方法,但其却一直饱受诟病,不同的起始编号,国际化的低支持,JDK官方也认识到这个问题,后台提出使用Calendar类进行日期操作。常用方法方法描述static Calendar getInstance()获取使用默认时区和区域设置的日历。 由于Calendar是抽象类,所...原创 2020-03-28 13:41:26 · 209 阅读 · 0 评论 -
Java38基础_Java中的日期1Date类SimpleDateFormat类
Java中的日期日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题。在Java中,操作日期主要涉及到一下几个类:类描述java.util.Date类 Date 表示特定的瞬间,精确到毫秒java.text.DateFormatDateFormat 是日期/...原创 2020-03-28 13:20:31 · 141 阅读 · 0 评论 -
Java基础37回顾
面向对象三大特征封装(encapsulation)继承(inheritance)多态(polymorphism)注意:多态存在的三个必要条件:继承 extends重写(子类继承父类后对父类方法进行重新定义)implement父类的引用指向子类对象( 向上转型)、在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。补充:实例化子类,用父类去...原创 2020-03-28 12:58:49 · 140 阅读 · 0 评论 -
Java基础36BigMath&Decimal
BigDecimal请执行如下代码System.out.println(0.05 + 0.01);System.out.println(1.0 - 0.42);System.out.println(4.015 * 100);System.out.println(123.3 / 100);代码:/** * BigDecimal * * @author admin * */...原创 2020-03-27 12:08:43 · 219 阅读 · 0 评论 -
Java基础35包装类
包装类Java是面向对象的编程语言,一切都是对象,但是为了编程的方便还是引入了基本数据类型,为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换。原始类型:boolean,char,byte,short,int,long,fl...原创 2020-03-27 11:37:59 · 70 阅读 · 0 评论 -
Java基础34练习
接口可以多继承://接口是可以多继承的//extends 继承//implements 实现public interface Test1inf3 extends Test1inf1, Test1inf2 {// 接口的多继承 // 1、类是否能多继承:类型不能多继承,只能多实现 // 2、接口是否能多继承:接口可以多继承}设计一个接口, 并设计一个实现类,实现这个接口Actio...原创 2020-03-27 11:33:26 · 99 阅读 · 0 评论 -
Java基础33内部类
内部类类定义在一个类的内部则成为内部类。其实就是类定义的位置发生了变化。在一个类中,定义在类中的叫成员变量,定义在函数中的叫成员函数,那么根据类定义的位置也可以分为成员内部类和局部内部类。什么时候用?比如人体是一个类,人体有心脏,心脏的功能在直接访问人体的其他内容。这时就将心脏定义在人体类中,作为内部类存在。内部类访问细节内部类如果需要使用静态成员则这个类也需要是静态的。内部类生产的...原创 2020-03-26 22:06:08 · 147 阅读 · 0 评论 -
Java基础33接口和抽象类
接口和抽象类的使用场景接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。 人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它. 所以,在高级语言上,一个类只能继承一个类(抽象类)(正如人不可能同时是生...原创 2020-03-26 22:02:06 · 95 阅读 · 0 评论 -
Java基础32接口
接口:如果一个抽象类里面的函数都是抽象函数 、那么这个类就是接口 (jdk8之前正确,jdk8之后不一定)interface 来定义一个接口 注意:不要写classabstract可以省略在interface中定义的变量必须给与初始值, 定义的变量相当于 static final int age = 10;接口中的所有方法都是public修饰的,所以在实现类中实现的方法必须要用pub...原创 2020-03-26 21:10:24 · 117 阅读 · 0 评论 -
Java基础31回顾
本质还是老虎把tiger拿出来和老虎不想关的东西不可能转换成老虎,直接报错,类型转换异常。查找String包ctrl+fString能不能被继承final 来修饰的话,就不可以 被继承了fields:属性Constructors:构造器只要有new就会开辟一个新的 对空间去指向 句柄对象。new string(“jack”) ==new string(“jack”) ...原创 2020-03-26 21:04:02 · 100 阅读 · 1 评论 -
Java基础30_String内存分配与StringBuffer
String内存分配情况String Str = “jack”这个语句会先检查字符串常量池是否存放这个”jack”这个字符串对象,如果没有存在,那么就会在字符串常量池中创建这个字符串对象,如果存在直接返回该字符串的内存地址值。String str3 = new String(“jack”) 该语句会创建两个对象,首先会先检查字符串常量池中存不存在jack这个字符串对象,如果不存在就会创建,如果...原创 2020-03-26 17:57:46 · 344 阅读 · 0 评论 -
Java基础29String类
String类String常用方法boolean endsWith(String str) 是否以指定字符结束boolean isEmpty()是否长度为0 如:“” null V1.6Boolean contains(CharSequences) 是否包含指定序列 应用:搜索Boolean equals(Object anObject) 是否相等Boolean equalsIgnor...原创 2020-03-26 16:05:52 · 77 阅读 · 0 评论 -
Java基础28抽象类抽象方法
6.抽象类1.abstract声明的2.抽象方法只有声明没有实现3.抽象类不能实例化对象,如:Parent p = new Parent();//编译报错 只能通过子类取实例化4.抽象类中可以没有抽象方法5.抽象类中也可以有普通成员(成员变量、成员函数、代码块)除了可以有抽象方法外,其他都是一毛一样6.1抽象方法用abstract修饰的方法,即抽象方法。抽象方法不能有方法主体...原创 2020-03-25 21:39:15 · 143 阅读 · 0 评论 -
Java基础27访问修饰符
5.访问修饰符(能访问什么,不能访问什么)1.public 一个类中,同一包中,子类中,不同包中2.protected 一个类中,同一包中,子类中3.default 一个类中,同一包中4.private 一个类中访问权限本类同包子类其他包publicYesYesYesYesprotectedYesYesYesNodefault(缺省...原创 2020-03-25 21:36:02 · 221 阅读 · 0 评论 -
Java基础26final关键字java 包机制
3.final关键字final 最终的可以修饰的: 类 函数 属性修饰类的属性就是常量,常量不可以改变(大部分情况都会搭配static关键字)修饰类的成员变量 必须给与初始化赋值,如果没有初始化也要在 对象创建对象之前对其初始化赋值,否则使用则会编译错误修饰的局部变量 常量修饰类的函数 不可以被重写修饰的类不可以被继承4.java 包机制package 包...原创 2020-03-25 21:16:37 · 123 阅读 · 0 评论 -
Java基础25初步认识Object类
初步认识Object类 Object类是所有Java类的祖先所有对象(包括数组)都实现这个类的方法。 在不明确给出超(super)类的情况下,Java会自动把Object作为要定义类的超类. 所以每个类默认都有如下方法字段说明clone()创建并返回此对象的一个副本。保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则...原创 2020-03-25 20:58:55 · 76 阅读 · 0 评论 -
Java基础25instanceof 关键字
1.instanceof 关键字属于比较运算符,该关键字用来判断一个对象是否是指定类的对象。用法:对象 instanceof 类;类的实例包含本身的实例,以及所有直接或间接子类的实例instanceof左边显式声明的类型与右边操作元必须是同种类或存在继承关系,也就是说需要位于同一个继承树,否则会编译错误public class Test extends FTest{ publi...原创 2020-03-25 20:52:40 · 129 阅读 · 0 评论 -
Java基础24练习
练习:Father:public class HomeworkFather { // 今晚作业,写一个父类(),在写一个子类,实现继承关系, // 子类要写上重写和重载2种关系的方法 // 要用上封装的写法; private int money; private int hourse; private String jwzc; // 现在父类中定义一个方法 public vo...原创 2020-03-25 10:33:54 · 73 阅读 · 0 评论 -
Java基础23多态重写和重载
5.多态对象的多种状态理解:是指子类重新定义父类的虚方法(virtual,abstract)。当子类重新定义了父类的虚方法后,父类根据赋给它的不同的子类,动态调用属于子类的该方法,这样的方法调用在编译期间是无法确定的。不难看出,两者的区别在于编译器何时去寻找所要调用的具体方法,对于重载而言,在方法调用之前,编译器就已经确定了所要调用的方法,这称为“早绑定”或“静态绑定”;而对于多态,只...原创 2020-03-24 22:37:07 · 85 阅读 · 0 评论 -
Java基础23继承super关键字作用
3.继承 继承的好处: 1) 简化了类的编写 2) 可以让父类、子类 以及后面的孙类,形成一个体系,这个也是多态的基础 3) 不支持多继承 4) private(私有) 修饰的成员可以继承,但是不可见 5) 构造函数不可以被继承 6) 如果子类的成员与父类相同,子类会覆盖父类 7) 构造函数:不能被继承,在子类的构造函数中会调用父类的构造函数 8...原创 2020-03-24 22:19:56 · 162 阅读 · 0 评论 -
Java基础22单例设计模式
单例设计模式解决一个类在内存中只存在一个对象,想要保证对象的唯一。场景一、地球,仲所周知地球只有一个地球。在程序不能表示两个地球实例子。这样违反了科学以及客观。二、Windows的Task Manager(任务管理器)就是很典型的单例模式,你能打开两个windows task manager吗?三、windows的Recycle Bin(回收站)也是典型的单例应用。在整个系统运行过程中,...原创 2020-03-24 16:44:25 · 98 阅读 · 0 评论 -
Java基础21static关键字
static关键字如果没有static关键字定义Person类1:姓名、年龄、国籍(系统使用人群里都是中国),说话行为每个对象都在维护同一个内容的国籍,内存空间非常浪费解决方法为了让所有Person对象都共享一个国籍 ,可以尝试将国籍放入共享区(即用static修饰)。static的作用为了实现对象之间重复属性的数据共享以及行为的共享static的使用范围可以使用修饰在方法上(...原创 2020-03-24 15:50:39 · 133 阅读 · 0 评论