04 2022 档案

摘要:1) 添加thymeleaf的jar包 2) 新建一个Servlet类ViewBaseServlet 3) 在web.xml文件中添加配置 - 配置前缀 view-prefix - 配置后缀 view-suffix 4) 使得我们的Servlet继承ViewBaseServlet 5) 根据逻辑视图 阅读全文
posted @ 2022-04-27 20:07 93丶Fss 阅读(48) 评论(0) 推荐(0) 编辑
摘要:1. 继承关系 javax.servlet.Servlet接口 javax.servlet.GenericServlet抽象类 javax.servlet.http.HttpServlet抽象子类 2. 相关方法 javax.servlet.Servlet接口: void init(config) 阅读全文
posted @ 2022-04-27 20:06 93丶Fss 阅读(129) 评论(0) 推荐(0) 编辑
摘要:- 客户端第一次发请求给服务器,服务器获取session,获取不到,则创建新的,然后响应给客户端 - 下次客户端给服务器发请求时,会把sessionID带给服务器,那么服务器就能获取到了,那么服务器就判断这一次请求和上次某次请求是同一个客户端,从而能够区分开客户端 - 常用的API: request 阅读全文
posted @ 2022-04-27 20:04 93丶Fss 阅读(26) 评论(0) 推荐(0) 编辑
摘要:1) 生命周期:从出生到死亡的过程就是生命周期。对应Servlet中的三个方法:init(),service(),destroy() 2) 默认情况下: 第一次接收请求时,这个Servlet会进行实例化(调用构造方法)、初始化(调用init())、然后服务(调用service()) 从第二次请求开始 阅读全文
posted @ 2022-04-27 20:04 93丶Fss 阅读(77) 评论(0) 推荐(0) 编辑
摘要:1) 服务器端转发 : request.getRequestDispatcher("index.html").forward(request,response); 客户端发送请求给服务器端,然后服务器端中的组件A将会转发给组件B,让组件B来完成请求,内部经过了多少次转发,客户端是不知道的。 - 地址 阅读全文
posted @ 2022-04-27 20:00 93丶Fss 阅读(126) 评论(0) 推荐(0) 编辑
摘要:该问题有可能是IDEA的部署没有更新的问题 将out中的 删除,然后重新导入即可 阅读全文
posted @ 2022-04-26 14:59 93丶Fss 阅读(85) 评论(0) 推荐(0) 编辑
摘要:Can not set int field xxx to java.lang.Long 错误 这个错误其实是因为Java程序和MySQL表中字段的属性匹配不一致 我的报错是Can not set java.lang.Integer field Stu.Fruit.pojp.Fruit.price t 阅读全文
posted @ 2022-04-26 08:36 93丶Fss 阅读(1954) 评论(0) 推荐(0) 编辑
摘要:@Testpublic void testConnectionTest5() throws Exception { //1.读取配置文件,获取4个基本信息 InputStream is = ConnectionTest.class.getClassLoader().getResourceAsStre 阅读全文
posted @ 2022-04-25 08:36 93丶Fss 阅读(268) 评论(0) 推荐(0) 编辑
摘要:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> #eventArea { border: 1px solid black; width: 100px; heigh 阅读全文
posted @ 2022-04-19 16:26 93丶Fss 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1、概念 #①名词解释 DOM是Document Object Model的缩写,意思是『文档对象模型』——将HTML文档抽象成模型,再封装成对象方便用程序操作。 这是一种非常常用的编程思想:将现实世界的事物抽象成模型,这样就非常容易使用对象来量化的描述现实事物,从而把生活中的问题转化成一个程序问题 阅读全文
posted @ 2022-04-19 16:25 93丶Fss 阅读(98) 评论(0) 推荐(0) 编辑
摘要:5、数组 #①使用new关键字创建数组 // 1.创建数组对象 var arr01 = new Array(); // 2.压入数据 arr01.push("apple"); arr01.push("orange"); arr01.push("banana"); arr01.push("grape" 阅读全文
posted @ 2022-04-19 16:24 93丶Fss 阅读(107) 评论(0) 推荐(0) 编辑
摘要:3、函数 #①内置函数 内置函数:系统已经声明好了可以直接使用的函数。 #[1]弹出警告框 alert("警告框内容"); #[2]弹出确认框 用户点击『确定』返回true,点击『取消』返回false var result = confirm("老板,你真的不加个钟吗?"); if(result) 阅读全文
posted @ 2022-04-19 16:23 93丶Fss 阅读(52) 评论(0) 推荐(0) 编辑
摘要:、JavaScript代码嵌入方式 #①HTML文档内 JavaScript代码要写在script标签内 script标签可以写在文档内的任意位置 为了能够方便查询或操作HTML标签(元素)script标签可以写在body标签后面 可以参考简化版的HelloWorld <!-- 在HBuilderX 阅读全文
posted @ 2022-04-19 16:21 93丶Fss 阅读(171) 评论(0) 推荐(0) 编辑
摘要:1、功能效果图 2、代码实现 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HelloWorld</title> </head> <body> <!-- 在HTML代码中定义一个按钮 --> <button type="but 阅读全文
posted @ 2022-04-19 16:15 93丶Fss 阅读(162) 评论(0) 推荐(0) 编辑
摘要:1、什么是表单 在项目开发过程中,凡是需要用户填写的信息都需要用到表单。 #2、form标签 在HTML中我们使用form标签来定义一个表单。而对于form标签来说有两个最重要的属性:action和method。 <form action="/aaa/pro01-HTML/page05-form-t 阅读全文
posted @ 2022-04-19 16:12 93丶Fss 阅读(1264) 评论(0) 推荐(0) 编辑
摘要:在Person类外部,不可以通过Person类的对象调用其内部私有结构。可以通过反射,创建Person类的对象,调用对象指定的属性、方法,甚至可以通过反射,可以调用Person类的私有结构的。比如:私有的构造器、方法、属性。 疑问1:通过直接new的方式或反射的方式都可以调用公共的结构,开发中到底用 阅读全文
posted @ 2022-04-19 15:53 93丶Fss 阅读(28) 评论(0) 推荐(0) 编辑
摘要:一、网络编程中有两个主要的问题: 1.如何准确地定位网络上一台或多台主机;定位主机上的特定的应用2.找到主机后如何可靠高效地进行数据传输二、网络编程中的两个要素: 1.对应问题一:IP和端口号2.对应问题二:提供网络通信协议:TCP/IP参考模型(应用层、传输层、网络层、物理+数据链路层)三、通信要 阅读全文
posted @ 2022-04-19 15:52 93丶Fss 阅读(35) 评论(0) 推荐(0) 编辑
摘要:1.URL:统一资源定位符,对应着互联网的某一资源地址 2.格式: http://localhost:8080/examples/beauty.jpg?username=Tom 协议 主机名 端口号 资源地址 参数列表 url.getProtocol( ): 获取该URL的协议名url.getHos 阅读全文
posted @ 2022-04-19 15:52 93丶Fss 阅读(54) 评论(0) 推荐(0) 编辑
摘要:public class UDPTest { //发送端@Testpublic void sender() throws IOException { DatagramSocket socket = new DatagramSocket(); String str = &quot;我是UDP方式发送的 阅读全文
posted @ 2022-04-19 15:52 93丶Fss 阅读(26) 评论(0) 推荐(0) 编辑
摘要:1.ObjectInputStream 和 ObjectOutputStream2.作用:用于存储和读取基本数据类型数据或对象的处理流。它的强大之处就是可以把Java中的对象写入到数据源中,也能把对象从数据源中还原回来。3.要想一个java对象是可序列化的,需要满足相应的要求。见Person.jav 阅读全文
posted @ 2022-04-19 15:51 93丶Fss 阅读(83) 评论(0) 推荐(0) 编辑
摘要:jdk 7.0 时,引入了 Path、Paths、Files三个类。此三个类声明在:java.nio.file包下。Path可以看做是java.io.File类的升级版本。也可以表示文件或文件目录,与平台无关如何实例化Path:使用Paths. static Path get(String firs 阅读全文
posted @ 2022-04-19 15:50 93丶Fss 阅读(149) 评论(0) 推荐(0) 编辑
摘要:1.缓冲流: BufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriter2.作用:提供流的读取、写入的速度 提高读写速度的原因:内部提供了一个缓冲区 3.处理流,就是“套接”在已有的流的基础上。 说明: ① 关闭外层流的同时 阅读全文
posted @ 2022-04-19 15:48 93丶Fss 阅读(53) 评论(0) 推荐(0) 编辑
摘要:1.转换流:属于字符流 InputStreamReader:将一个字节的输入流转换为字符的输入流OutputStreamWriter:将一个字符的输出流转换为字节的输出流2.作用:提供字节流与字符流之间的转换 //参数2指明了字符集,具体使用哪个字符集,取决于文件dbcp.txt保存时使用的字符集 阅读全文
posted @ 2022-04-19 15:48 93丶Fss 阅读(64) 评论(0) 推荐(0) 编辑
摘要:一、流的分类:1.操作数据单位:字节流、字符流2.数据的流向:输入流、输出流3.流的角色:节点流、处理流 抽象基类 字节流 字符流输入流 InputStream Reader输出流 OutputStream Writer 二、流的体系结构 抽象基类 节点流(或文件流) 缓冲流(处理流的一种)Inpu 阅读全文
posted @ 2022-04-19 15:47 93丶Fss 阅读(186) 评论(0) 推荐(0) 编辑
摘要:1.File类的实例化2.FileReader流的实例化3.读入的操作4.资源的关闭 read():返回读入的一个字符。如果达到文件末尾,返回-1 不能使用字符流来处理图片等字节数据 测试FileInputStream和FileOutputStream的使用对于文本文件(.txt,.java,.c, 阅读全文
posted @ 2022-04-19 15:47 93丶Fss 阅读(35) 评论(0) 推荐(0) 编辑
摘要:1.jdk 5.0新增的特性 2.在集合中使用泛型: 以ArrayList为例: @Testpublic void test1(){ ArrayList<Integer> list = new ArrayList<>(); list.add(78);list.add(87);list.add(99) 阅读全文
posted @ 2022-04-19 15:46 93丶Fss 阅读(53) 评论(0) 推荐(0) 编辑
摘要:File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)File类声明在java.io包下File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。后续File类的对象常会作为参数 阅读全文
posted @ 2022-04-19 15:46 93丶Fss 阅读(47) 评论(0) 推荐(0) 编辑
摘要:向TreeMap中添加key-value,要求key必须是由同一个类创建的对象 因为要按照key进行排序:自然排序 、定制排序 TreeSet排序例子 import org.junit.Test; import java.util.*; public class TreeMapTest { //自然 阅读全文
posted @ 2022-04-19 15:45 93丶Fss 阅读(35) 评论(0) 推荐(0) 编辑
摘要:Collections:操作Collection、Map的工具类reverse(List):反转 List 中元素的顺序shuffle(List):对 List 集合元素进行随机排序sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序sort(List,Comparator) 阅读全文
posted @ 2022-04-19 15:45 93丶Fss 阅读(103) 评论(0) 推荐(0) 编辑
摘要:添加、删除、修改操作: Object put(Object key,Object value):将指定key-value添加到(或修改)当前map对象中void putAll(Map m):将m中的所有key-value对存放到当前map中Object remove(Object key):移除指定 阅读全文
posted @ 2022-04-19 15:44 93丶Fss 阅读(69) 评论(0) 推荐(0) 编辑
摘要:一、Map的实现类的结构:| Map:双列数据,存储key-value对的数据 类似于高中的函数:y = f(x) | HashMap:作为Map的主要实现类;线程不安全的,效率高;存储null的key和value | LinkedHashMap:保证在遍历map元素时,可以按照添加的顺序实现遍历。 阅读全文
posted @ 2022-04-19 15:43 93丶Fss 阅读(24) 评论(0) 推荐(0) 编辑
摘要:void add(int index, Object ele):在index位置插入ele元素boolean addAll(int index, Collection eles):从index位置开始将eles中的所有元素添加进来Object get(int index):获取指定index位置的元 阅读全文
posted @ 2022-04-19 15:40 93丶Fss 阅读(45) 评论(0) 推荐(0) 编辑
摘要:Set接口的框架:| Collection接口:单列集合,用来存储一个一个的对象 | Set接口:存储无序的、不可重复的数据 -->高中讲的“集合” | HashSet:作为Set接口的主要实现类;线程不安全的;可以存储null值 | LinkedHashSet:作为HashSet的子类;遍历其内部 阅读全文
posted @ 2022-04-19 15:40 93丶Fss 阅读(58) 评论(0) 推荐(0) 编辑
摘要:1.List接口框架 | Collection接口:单列集合,用来存储一个一个的对象 | List接口:存储有序的、可重复的数据。 -->“动态”数组,替换原有的数组 | ArrayList:作为List接口的主要实现类;线程不安全的,效率高;底层使用Object[] elementData存储 | 阅读全文
posted @ 2022-04-19 15:39 93丶Fss 阅读(34) 评论(0) 推荐(0) 编辑
摘要:1.内部的方法:hasNext() 和 next() 推荐的方式: //hasNext():判断是否还有下一个元素while(iterator.hasNext()){ //next():①指针下移 ②将下移以后集合位置上的元素返回 System.out.println(iterator.next() 阅读全文
posted @ 2022-04-19 15:38 93丶Fss 阅读(106) 评论(0) 推荐(0) 编辑
摘要:1.集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中) 2.1 数组在存储多个数据方面的特点: 一旦初始化以后,其长度就确定了。数组一旦定义好,其元素的类型也就确定了。我们也就只能操 阅读全文
posted @ 2022-04-19 15:37 93丶Fss 阅读(15) 评论(0) 推荐(0) 编辑
摘要:add(Object e):将元素e添加到集合coll中size():获取添加的元素的个数addAll(Collection coll1):将coll1集合中的元素添加到当前的集合中clear():清空集合元素isEmpty():判断当前集合是否为空day24Collection接口中声明的方法的测 阅读全文
posted @ 2022-04-19 15:37 93丶Fss 阅读(78) 评论(0) 推荐(0) 编辑
摘要:示例一:生成文档相关的注解示例二:在编译时进行格式检查(JDK内置的三个基本注解)@Override: 限定重写父类方法, 该注解只能用于方法@Deprecated: 用于表示所修饰的元素(类, 方法等)已过时。通常是因为所修饰的结构危险或存在更好的选择@SuppressWarnings: 抑制编译 阅读全文
posted @ 2022-04-19 15:36 93丶Fss 阅读(47) 评论(0) 推荐(0) 编辑
摘要:一、枚举类的使用 枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类当需要定义一组常量时,强烈建议使用枚举类如果枚举类中只有一个对象,则可以作为单例模式的实现方式。二、如何定义枚举类 方式一:jdk5.0之前,自定义枚举类 方式二:jdk5.0,可以使用enum关键字定义枚举类 三、Enu 阅读全文
posted @ 2022-04-19 15:35 93丶Fss 阅读(46) 评论(0) 推荐(0) 编辑
摘要:JDK 8之前日期和时间的API(1) System类中的currentTimeMillis():返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。称为时间戳。 java.util.Date类 | java.sql.Date类 1.两个构造器的使用 构造器一:Date():创建一 阅读全文
posted @ 2022-04-19 15:34 93丶Fss 阅读(42) 评论(0) 推荐(0) 编辑
摘要:一、说明:Java中的对象,正常情况下,只能进行比较:== 或 != 。不能使用 > 或 < 的 但是在开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的大小。 如何实现?使用两个接口中的任何一个:Comparable 或 Comparator 二、Comparable接口与Comp 阅读全文
posted @ 2022-04-19 15:34 93丶Fss 阅读(26) 评论(0) 推荐(0) 编辑
摘要:String、StringBuffer、StringBuilder三者的异同? String:不可变的字符序列;底层使用char[]存储 StringBuffer:可变的字符序列;线程安全的,效率低;底层使用char[]存储 StringBuilder:可变的字符序列;jdk5.0新增的,线程不安全 阅读全文
posted @ 2022-04-19 15:32 93丶Fss 阅读(32) 评论(0) 推荐(0) 编辑
摘要:int length():返回字符串的长度: return value.lengthchar charAt(int index): 返回某索引处的字符return value[index]boolean isEmpty():判断是否是空字符串:return value.length == 0Stri 阅读全文
posted @ 2022-04-19 15:31 93丶Fss 阅读(34) 评论(0) 推荐(0) 编辑
摘要:String:字符串,使用一对""引起来表示。 1.String声明为final的,不可被继承 2.String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小 3.String内部定义了final char[] value用 阅读全文
posted @ 2022-04-19 15:30 93丶Fss 阅读(605) 评论(0) 推荐(0) 编辑
摘要:如何理解实现Callable接口的方式创建多线程比实现Runnable接口创建多线程方式强大? call()可以有返回值的。call()可以抛出异常,被外面的操作捕获,获取异常的信息Callable是支持泛型的例子: import java.util.concurrent.Callable;impo 阅读全文
posted @ 2022-04-19 15:29 93丶Fss 阅读(45) 评论(0) 推荐(0) 编辑
摘要:好处: 提高响应速度(减少了创建新线程的时间)降低资源消耗(重复利用线程池中线程,不需要每次都创建)便于线程管理corePoolSize:核心池的大小maximumPoolSize:最大线程数keepAliveTime:线程没有任务时最多保持多长时间后会终止代码如下: class NumberThr 阅读全文
posted @ 2022-04-19 15:29 93丶Fss 阅读(59) 评论(0) 推荐(0) 编辑
摘要:死锁1.死锁的理解:不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁 2.说明: 1)出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于阻塞状态,无法继续 2)我们使用同步时,要避免出现死锁。 解决线程安全问题的方式三:Lock锁 JDK5 阅读全文
posted @ 2022-04-19 15:28 93丶Fss 阅读(84) 评论(0) 推荐(0) 编辑
摘要:synchronized(同步监视器){ //需要被同步的代码 } 说明: 1.操作共享数据的代码,即为需要被同步的代码。 -->不能包含代码多了,也不能包含代码少了。2.共享数据:多个线程共同操作的变量。比如:ticket就是共享数据。 3.同步监视器,俗称:锁。任何一个类的对象,都可以充当锁。 阅读全文
posted @ 2022-04-19 15:27 93丶Fss 阅读(41) 评论(0) 推荐(0) 编辑
摘要:MAX_PRIORITY:10MIN _PRIORITY:1NORM_PRIORITY:5 -->默认优先级2.如何获取和设置当前线程的优先级: getPriority():获取线程的优先级setPriority(int p):设置线程的优先级说明:高优先级的线程要抢占低优先级线程cpu的执行权。但 阅读全文
posted @ 2022-04-19 15:25 93丶Fss 阅读(44) 评论(0) 推荐(0) 编辑
摘要:方式一:继承于Thread类创建一个继承于Thread类的子类重写Thread类的run() --> 将此线程执行的操作声明在run()中创建Thread类的子类的对象通过此对象调用start()创建多线程的方式二:实现Runnable接口创建一个实现了Runnable接口的类实现类去实现Runna 阅读全文
posted @ 2022-04-19 15:25 93丶Fss 阅读(15) 评论(0) 推荐(0) 编辑
摘要:测试Thread中的常用方法:start():启动当前线程;调用当前线程的run()run(): 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中currentThread():静态方法,返回执行当前代码的线程getName():获取当前线程的名字setName():设置 阅读全文
posted @ 2022-04-19 15:24 93丶Fss 阅读(24) 评论(0) 推荐(0) 编辑
摘要:java.lang.Throwablejava.lang.Error:一般不编写针对性的代码进行处理。java.lang.Exception:可以进行异常的处理编译时异常(checked)IOException FileNotFoundException ClassNotFoundException 阅读全文
posted @ 2022-04-19 15:23 93丶Fss 阅读(16) 评论(0) 推荐(0) 编辑
摘要:1.Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类 2.内部类的分类:成员内部类(静态、非静态) vs 局部内部类(方法内、代码块内、构造器内) 3.成员内部类: 一方面,作为外部类的成员: 调用外部类的结构 可以被static修饰 可以被4种不同的权限修饰 另一方面, 阅读全文
posted @ 2022-04-19 15:22 93丶Fss 阅读(24) 评论(0) 推荐(0) 编辑
摘要:1.abstract:抽象的 2.abstract可以用来修饰的结构:类、方法 3.abstract修饰类:抽象类 此类不能实例化 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作 4.abstract修饰方法 阅读全文
posted @ 2022-04-19 15:21 93丶Fss 阅读(59) 评论(0) 推荐(0) 编辑
摘要:1.接口使用interface来定义 2.Java中,接口和类是并列的两个结构 3.如何定义接口:定义接口中的成员 3.1 JDK7及以前:只能定义全局常量和抽象方法 全局常量:public static final的.但是书写时,可以省略不写 抽象方法:public abstract的 3.2 J 阅读全文
posted @ 2022-04-19 15:21 93丶Fss 阅读(91) 评论(0) 推荐(0) 编辑
摘要:1.代码块的作用:用来初始化类、对象 2.代码块如果有修饰的话,只能使用static. 3.分类:静态代码块 vs 非静态代码块 4.静态代码块 内部可以有输出语句 随着类的加载而执行,而且只执行一次 作用:初始化类的信息 如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行 静态代码块的执行 阅读全文
posted @ 2022-04-19 15:20 93丶Fss 阅读(58) 评论(0) 推荐(0) 编辑
摘要:1.static:静态的 2.static可以用来修饰:属性、方法、代码块、内部类 3.使用static修饰属性:静态变量(或类变量) 3.1 属性,按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量) 实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性 阅读全文
posted @ 2022-04-19 15:19 93丶Fss 阅读(25) 评论(0) 推荐(0) 编辑
摘要:所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。 如何实现? 饿汉式 vs 懒汉式 区分饿汉式 和 懒汉式饿汉式: 坏处:对象加载时间过长。好处:饿汉式是线程安全的懒汉式: 好处:延迟对象的创建。目前的写法坏处:线程不安全。 >到多线程内容时,再修改ma 阅读全文
posted @ 2022-04-19 15:19 93丶Fss 阅读(5) 评论(0) 推荐(0) 编辑
摘要:1.java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征 2.掌握的:基本数据类型、包装类、String三者之间的相互转换 基本数据类型 >包装类:调用包装类的构造器 public void test1(){ int num1 = 10; // System.out.pri 阅读全文
posted @ 2022-04-19 15:18 93丶Fss 阅读(60) 评论(0) 推荐(0) 编辑
摘要:1.Object类是所有Java类的根父类 2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类 3.Object类中的功能(属性、方法)就具有通用性。 属性:无方法:equals() / toString() / getClass() /hash 阅读全文
posted @ 2022-04-19 15:17 93丶Fss 阅读(68) 评论(0) 推荐(0) 编辑
摘要:1.理解多态性:可以理解为一个事物的多种形态。 2.何为多态性: 对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用) 多态的使用:虚拟方法调用有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。 总结:编译,看左边;运行,看 阅读全文
posted @ 2022-04-19 15:15 93丶Fss 阅读(61) 评论(0) 推荐(0) 编辑
摘要:x instanceof A:检验x是否为类A的对象,返回值为boolean型 使用情境:为了避免在向下转型时出现ClassCastException的异常,我们在向下转型之前,先进行instanceof的判断,一旦返回true,就进行向下转型。如果返回false,不进行向下转型。 如果 a ins 阅读全文
posted @ 2022-04-19 15:15 93丶Fss 阅读(63) 评论(0) 推荐(0) 编辑
摘要:1.重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作 2.应用:重写以后,当创建子类对象以后,通过子类对象调用子父类中的同名同参数的方法时,实际执行的是子类重写父类的方法。 重写的规定: 方法的声明: 权限修饰符 返回值类型 方法名(形参列表) throws 异常的类型{} 约定俗 阅读全文
posted @ 2022-04-19 15:14 93丶Fss 阅读(49) 评论(0) 推荐(0) 编辑
摘要:1.super理解为:父类的 2.super可以用来调用:属性、方法、构造器 3.super的使用:调用属性和方法 3.1 我们可以在子类的方法或构造器中。通过使用"super.属性"或"super.方法"的方式,显式的调用父类中声明的属性或方法。但是,通常情况下,我们习惯省略"super."3.2 阅读全文
posted @ 2022-04-19 15:14 93丶Fss 阅读(37) 评论(0) 推荐(0) 编辑
摘要:一、继承性的好处: ① 减少了代码的冗余,提高了代码的复用性 ② 便于功能的扩展 ③ 为之后多态性的使用,提供了前提 二、继承性的格式: class A extends B{} A:子类、派生类、subclass B:父类、超类、基类、superclass 2.1体现:一旦子类A继承父类B以后,子类 阅读全文
posted @ 2022-04-19 15:13 93丶Fss 阅读(89) 评论(0) 推荐(0) 编辑
摘要:java.lang 包含一些Java语言的核心类,如String、Math、Integer、System、Thread,提供常用功能 java.net 包含执行与网络相关的操作的类和接口 java.io 包含能够提供多种输入/输出功能的类 java.util 包含一些实用工具类,如定义系统特性、接口 阅读全文
posted @ 2022-04-19 15:10 93丶Fss 阅读(73) 评论(0) 推荐(0) 编辑
摘要:MVC是常用的设计模式之一,将整个程序分为三个层次:视图模型层、控制器层与数据模型层。这种将程序输入输出、数据处理以及数据的展示分离开来的设计模式使程序结构变得灵活而且清晰,同时也描述了程序各个对象间的通信方式,降低了程序的耦合性。 模型层:model 主要处理数据 数据对象封装 model.bea 阅读全文
posted @ 2022-04-19 15:09 93丶Fss 阅读(148) 评论(0) 推荐(0) 编辑
摘要:构造器一、构造器的作用: 1.创建对象 2.初始化对象的信息 二、说明: 1.如果没有显式的定义类的构造器的话,则系统默认提供一个空参的构造器 2.定义构造器的格式:权限修饰符 类名(形参列表){} 3.一个类中定义的多个构造器,彼此构成重载 4.一旦我们显式的定义了类的构造器之后,系统就不再提供默 阅读全文
posted @ 2022-04-19 15:08 93丶Fss 阅读(61) 评论(0) 推荐(0) 编辑
摘要:一、问题的引入:当我们创建一个类的对象以后,我们可以通过"对象.属性"的方式,对对象的属性进行赋值。这里,赋值操作要受到属性的数据类型和存储范围的制约。除此之外,没有其他制约条件。但是,在实际问题中,我们往往需要给属性赋值 加入额外的限制条件。这个条件就不能在属性声明时体现,我们只能通过方法进行限制 阅读全文
posted @ 2022-04-19 15:03 93丶Fss 阅读(23) 评论(0) 推荐(0) 编辑
摘要:可变个数形参的方法1.jdk 5.0新增的内容 2.具体使用: 2.1 可变个数形参的格式:数据类型 ... 变量名 public void show(String ... strs)2.2 当调用可变个数形参的方法时,传入的参数个数可以是:0个,1个,2个,。。。 2.3 可变个数形参的方法与本类 阅读全文
posted @ 2022-04-19 15:02 93丶Fss 阅读(38) 评论(0) 推荐(0) 编辑
摘要:1.定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。 "两同一不同":同一个类、相同方法名 参数列表不同:参数个数不同,参数类型不同 2.举例: Arrays类中重载的sort() / binarySearch() 3.判断是否是重载:跟方法的权限修饰符、返回 阅读全文
posted @ 2022-04-19 15:01 93丶Fss 阅读(70) 评论(0) 推荐(0) 编辑
摘要:1.理解:我们创建的对象,没有显式的赋给一个变量名。即为匿名对象 2.特征:匿名对象只能调用一次。 3.使用:如下 public class InstanceTest { public static void main(String[] args) { Phone p = new Phone();/ 阅读全文
posted @ 2022-04-19 15:00 93丶Fss 阅读(41) 评论(0) 推荐(0) 编辑
摘要:一、Java面向对象学习的三条主线:(第4-6章) 1.Java类及类的成员:属性、方法、构造器;代码块、内部类 2.面向对象的三大特征:封装性、继承性、多态性、(抽象性) 3.其它关键字:this、super、static、final、abstract、interface、package、impo 阅读全文
posted @ 2022-04-19 14:58 93丶Fss 阅读(72) 评论(0) 推荐(0) 编辑
摘要:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序。 public class QuickSort { private static void swap(int[] data, int i, int j) { int 阅读全文
posted @ 2022-04-19 14:52 93丶Fss 阅读(21) 评论(0) 推荐(0) 编辑
摘要:public class ArrayTest2 { public static void main(String[] args) { String[] arr = new String[]{&quot;JJ&quot;,&quot;DD&quot;,&quot;MM&quot;,&quot;BB&q 阅读全文
posted @ 2022-04-19 14:51 93丶Fss 阅读(37) 评论(0) 推荐(0) 编辑
摘要:java.util.Arrays操作数组的工具类,里面定义了很多操作数组的方法 1.boolean equals(int[] a,int[] b):判断两个数组是否相等。 2.String toString(int[] a):输出数组信息。 3.void fill(int[] a,int val): 阅读全文
posted @ 2022-04-19 14:49 93丶Fss 阅读(50) 评论(0) 推荐(0) 编辑
摘要:1.理解:对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。其实,从数组底层的运行机制来看,其实没有多维数组。 2.二维数组的使用: ① 二维数组的声明和初始化 ② 如何调用数组的指定位置的元素 ③ 如何获取数组的长度 ④ 如何遍历数组 public 阅读全文
posted @ 2022-04-19 14:47 93丶Fss 阅读(227) 评论(0) 推荐(0) 编辑
摘要:1.数组的理解:数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。 2.数组相关的概念: 数组名 元素 角标、下标、索引 数组的长度:元素的个数 3.数组的特点: 1)数组是有序排列的 2)数组属于引用数据类型的变量。数组的元素, 阅读全文
posted @ 2022-04-19 14:46 93丶Fss 阅读(269) 评论(0) 推荐(0) 编辑
摘要:一、循环结构的4个要素 ① 初始化条件 ② 循环条件 >是boolean类型 ③ 循环体 ④ 迭代条件 二、do-while循环结构: ①do{ ③; ④;}while(②); 执行过程:① - ③ - ④ - ② - ③ - ④ - ... - ② 说明: 1.do-while循环至少会执行一次循 阅读全文
posted @ 2022-04-19 12:24 93丶Fss 阅读(525) 评论(0) 推荐(0) 编辑
摘要:1.嵌套循环:将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环 2. 外层循环:循环结构B 内层循环:循环结构A 3.说明 ① 内层循环结构遍历一遍,只相当于外层循环循环体执行了一次 ② 假设外层循环需要执行m次,内层循环需要执行n次。此时内层循环的循环体一共执行了m * n次 4 阅读全文
posted @ 2022-04-19 12:23 93丶Fss 阅读(131) 评论(0) 推荐(0) 编辑
摘要:1.格式 switch(表达式){case 常量1: 执行语句1; //break; case 常量2: 执行语句2; //break; ... default: 执行语句n; //break; } 2.说明: ① 根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应 阅读全文
posted @ 2022-04-19 12:22 93丶Fss 阅读(137) 评论(0) 推荐(0) 编辑
摘要:一、三种结构 第一种: if(条件表达式){ 执行表达式}第二种:二选一 if(条件表达式){ 执行表达式1}else{ 执行表达式2}第三种:n选一 if(条件表达式){ 执行表达式1}else if(条件表达式){ 执行表达式2}else if(条件表达式){ 执行表达式3}...else{ 执 阅读全文
posted @ 2022-04-19 12:21 93丶Fss 阅读(399) 评论(0) 推荐(0) 编辑
摘要:三元运算符 1.结构:(条件表达式)? 表达式1 : 表达式2 //获取两个整数的较大值int m = 12;int n = 5;int max = (m > n)? m : n; System.out.println(max); 2.说明: ① 条件表达式的结果为boolean类型 ② 根据条件表 阅读全文
posted @ 2022-04-19 12:20 93丶Fss 阅读(30) 评论(0) 推荐(0) 编辑
摘要:&、 &&、 |、 ||、 !、 ^、 说明: 1.逻辑运算符操作的都是boolean类型的变量 区分& 与 &&: 相同点1:& 与 && 的运算结果相同 相同点2:当符号左边是true时,二者都会执行符号右边的运算 不同点:当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边 阅读全文
posted @ 2022-04-19 12:19 93丶Fss 阅读(51) 评论(0) 推荐(0) 编辑
摘要:==、 !=、 >、 <、 >=、 <=、 instanceof 结论: 1.比较运算符的结果是boolean类型 2.区分 == 和 = 特别说明:instanceof是Java中的二元运算符,左边是对象,右边是类;当对象是右边类或子类所创建对象时,返回true;否则,返回false。 阅读全文
posted @ 2022-04-19 12:18 93丶Fss 阅读(61) 评论(0) 推荐(0) 编辑
摘要:加+、 减-、 乘*、 除/、 取余% 自增自减: (前)++ (后)++ (前)-- (后)-- (前)++ :先自增1,后运算(后)++ :先运算,后自增1自减同理 阅读全文
posted @ 2022-04-19 12:17 93丶Fss 阅读(34) 评论(0) 推荐(0) 编辑
摘要:=、 +=、 -=、 *=、 /=、 %= 开发中,如果希望变量实现+2的操作,有几种方法?(前提:int num = 10;)方式一:num = num + 2;方式二:num += 2; (推荐)如果希望变量实现+1的操作:num++; (推荐) 阅读全文
posted @ 2022-04-19 12:17 93丶Fss 阅读(37) 评论(0) 推荐(0) 编辑
摘要:一、变量按照数据类型来分: 基本数据类型: 整型:byte \ short \ int \ long 浮点型:float \ double 字符型:char 布尔型:boolean引用数据类型: 类(class) 接口(interface) 数组(array) 1.整型:byte(1字节=8bit) 阅读全文
posted @ 2022-04-19 12:16 93丶Fss 阅读(634) 评论(0) 推荐(0) 编辑
摘要:1.String属于引用数据类型,翻译为:字符串 2.声明String类型变量时,使用一对"" 3.String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+ 4.运算的结果仍然是String类型 阅读全文
posted @ 2022-04-19 12:14 93丶Fss 阅读(37) 评论(0) 推荐(0) 编辑
摘要:1.java定义变量的格式:数据类型 变量名 = 变量值; 2.说明: ① 变量必须先声明,后使用 ② 变量都定义在其作用域内。在作用域内,它是有效的。换句话说,出了作用域,就失效了 ③ 同一个作用域内,不可以声明两个同名的变量 阅读全文
posted @ 2022-04-19 12:14 93丶Fss 阅读(70) 评论(0) 推荐(0) 编辑
摘要:1.标识符:凡是自己可以起名字的地方都叫标识符。 比如:类名、变量名、方法名、接口名、包名... 2.标识符的命名规则:--> 如果不遵守如下的规则,编译不通过!需要大家严格遵守 由26个英文字母大小写,0-9 ,_或 $ 组成 数字不可以开头。 不可以使用关键字和保留字,但能包含关键字和保留字。 阅读全文
posted @ 2022-04-19 12:13 93丶Fss 阅读(98) 评论(0) 推荐(0) 编辑
摘要:包名:多单词组成时所有字母都小写:xxxyyyzzz 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ 阅读全文
posted @ 2022-04-19 12:13 93丶Fss 阅读(45) 评论(0) 推荐(0) 编辑
摘要:对于整数,有四种表示方式: 二进制(binary):0,1 ,满2进1.以0b或0B开头。 十进制(decimal):0-9 ,满10进1。 八进制(octal):0-7 ,满8进1. 以数字0开头表示。 十六进制(hex):0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小 阅读全文
posted @ 2022-04-19 12:12 93丶Fss 阅读(332) 评论(0) 推荐(0) 编辑
摘要:1.java程序编写-编译-运行的过程 编写:我们将编写的java代码保存在以".java"结尾的源文件中 编译:使用javac.exe命令编译我们的java源文件。格式:javac 源文件名.java 运行:使用java.exe命令解释运行我们的字节码文件。 格式:java 类名 2.在一个jav 阅读全文
posted @ 2022-04-19 12:11 93丶Fss 阅读(16) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示