01 2021 档案
摘要:LinkedeList和ArrayList的区别1、数据结构不同ArrayList是Array(动态数组)的数据结构,LinkedList是Link(链表)的数据结构。2、效率不同当随机访问List(get和set操作)时,ArrayList比LinkedList的效率更高,因为LinkedList
阅读全文
摘要:目标: 常见的数据结构种类。 这些结构,java早就通过代码实现了,我们要知道有这些结构即可 集合是基于数据结构做出来的,不同的集合底层采用不同的数据结构。 不同的数据结构,功能和作用是不一样的。 什么是数据结构? 数据结构指的是数据以什么方式组织在一起。 不同的数据结构,增删改查的性能是不一样的。
阅读全文
摘要:目标: 掌握foreach(增强for循环) 遍历集合。 foreach是一种遍历形式,可以遍历集合或者数组。 foreach遍历集合实际上是迭代器遍历的简化写法。 foreach遍历的关键是记住格式; for(被遍历集合或者数组中元素的类型 变量名称 : 被遍历集合或者数组){ } 小结: for
阅读全文
摘要:目标: Collection集合的遍历方式。 什么是遍历? 为什么开发中要遍历? 遍历就是一个一个的把容器中的元素访问一遍。 开发中经常要统计元素的总和,找最值,找出某个数据然后干掉等等业务都需要遍历。 Collection集合的遍历方式是全部集合都可以直接使用的,所以我们学习它。 Collecti
阅读全文
摘要:目标: 记住集合的常用API: (其实就是记住Collection的方法 因为Collection是集合的祖宗类 只要是集合 它的方法都可以调用) 这里直接用案例来使用说明: package com.ithei.Collection; import java.util.ArrayList; impo
阅读全文
摘要:目标: Collection集合概述。 什么是集合? 集合是一个大小可变的容器。 容器中的每个数据称为一个元素。数据==元素。 集合的特点是:类型可以不确定,大小不固定。集合有很多种,不同的集合特点和使用场景不同。 数组:类型和长度一旦定义出来就都固定了。 集合有啥用? 在开发中,很多时候元素的个数
阅读全文
摘要:需求: 开发一个极品飞车的游戏,所有的汽车都能一起参与比赛。 注意: 虽然BMW和BENZ都继承了Car 但是ArrayList<BMW>和ArrayLIst<BENZ>与ArrayList<Car>没有关系的!泛型没有继承关系! 通配符:? ? 可以用在使用泛型的时候代表一切类型。 E,T,K,V
阅读全文
摘要:什么是泛型接口? 使用了泛型定义的接口就是泛型接口。 泛型接口的格式: 修饰符 interface 接口名称<泛型变量>{ } 需求: 教务系统,提供一个接口可约束一定要完成数据(学生,老师)的增删改查操作 小结: 泛型接口的核心思想,在实现接口的时候传入真实的数据类型 这样重写的方法就是对该数据类
阅读全文
摘要:什么是泛型方法? 定义了泛型的方法就是泛型方法。 泛型方法的定义格式: 修饰符 <泛型变量> 返回值类型 方法名称(形参列表){ } 注意: 方法定义了什么是泛型变量,后面就只能用什么泛型变量。 泛型类的核心思想:是把出现泛型变量的地方全部替换成传输真实数据类型。 需求: 给你任何一个类型的数组,都
阅读全文
摘要:目标:自定义泛型类。 引入: 我们之前用的泛型都是别人写好的,接下来我们来自定义泛型类使用。 泛型类的概念: 使用了泛型定义的类就是泛型类。 泛型类的格式: 修饰符: class 类名<泛型变量>{ } 泛型变量建议使用 E,T,K,V 泛型类的核心思想: 是把出现泛型变量的地方全部替换成传输的真实
阅读全文
摘要:目标:泛型的好处 泛型在编译阶段约束了操作的数据类型,从而不会出现类型转换异常。 体现的是java的严谨性和规范性,数据类型,经常需要进行统一! 补充: 除了基本数据类型 也可以用引用数据类型 还有Object类型
阅读全文
摘要:目标:泛型的概述。 什么是泛型? 用大白话来讲 做个比喻 如果集合是公用厕所 那么泛型就是这个公用厕所的标签 标注你是男生还是女生...... 泛型就是一个标签:<数据类型> 泛型可以在编译阶段约束只能操作某种数据类型。 注意: JDK 1.7开始之后,泛型后面的申明可以省略不写!! 泛型和集合都只
阅读全文
摘要:小结: 正则表达式的优点: 很适合做校验,代码简单,优雅! 待补充: 后面有敲到在记在这里 主要用于校验
阅读全文
摘要:目标: 包装类的特殊功能。 Java为包装类做了一些特殊功能,以便程序员使用。 包装类作为类首先拥有了Object类的方法。 包装类作为引用类型的变量可以存储null值。 具体来看特殊功能主要有: 1、可以把基本数据类型的值转换成字符串类型的值。(没啥用) 调用toString()方法 调用Inte
阅读全文
摘要:他们返回类型的不同是最大的原因。 static int parseInt(String s) 将字符串参数作为有符号的十进制整数进行分析。 static Integer valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。 static Integer valueO
阅读全文
摘要:目标: 包装类。 引入: java认为一切皆对象。引用数据类型就是对象了。 但是在java中8种基本数据类型不是对象,只是表示一种数据的类型形式,这8种数据类型显得很突兀。 java为了一切皆对象的思想统一,把8种基本数据类型转换成对应的类,这个类称为基本数据类型的包装类。 基本数据类型 包装类(引
阅读全文
摘要:目标: BigDecimal大数据类。 引入: 浮点型运算的时候直接+ * / 可能会出现数据失真(精度问题)。 BigDecimal可以解决浮点型运算数据失真的问题。 BigDicimal类: 包: java.math. 创建对象的方式(最好的方式:) public static BigDecim
阅读全文
摘要:目标:System系统类的使用。 System代表当前系统。 静态方法: 1.public static void exit(int status);终止JVM虚拟机,非0是异常终止。 2.public static long currentTimeMillis(); 获取当前系统此刻时间毫秒值。
阅读全文
摘要:目标:Math类的使用。 Math用于做数学运算。 Math类中的方法全都是静态方法,直接用类名调用即可。 方法: 方法体: 说明 public static int abs(int a); 获取参数a的绝对值 public static double ceil(double a) 向上取整 pub
阅读全文
摘要:目标:日历类Calendar的使用。 Calendar代表了系统此刻日期对应的日历对象、 Calendar是一个抽象类,不能直接创建对象。 Calendar日历类创建日历对象的语法。 Calendar rigjtNow = Calendar.getInstance(); Calendar的方法: 1
阅读全文
摘要:目标: SimpleDateFormat的使用 做个案例: package com.ithei.DateFormatDemo01; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util
阅读全文
摘要:目标: SimpleDateFormat的使用01 引入: 我们之前得到的Date日期对象或者时间毫秒值的时间形式。 开发中并不喜欢,不符合有些时间格式的需求。 DateFormat作业: 1,可以把”日期对象“或者“时间毫秒值”格式化成我们喜欢的时间形式。(格式化时间) 2,可以把字符串的时间形式
阅读全文
摘要:目标:Date类的有参构造器的使用。 构造器: public Date(): 创建当前系统的此刻日期时间对象。 public Date(long time): 把时间毫秒值转换成日期对象。 流程: Date日期对象 -> getTime() -> 时间毫秒值 时间毫秒值 -> new Date(时间
阅读全文
摘要:package com.ithei.DateTimeDemo; /** * @program: javaDemo01->DemoTime * @description: 时间毫秒的使用场景 * @author: 安生 * @create: 2021-01-22 13:36 **/ import ja
阅读全文
摘要:Java是面向对象的,会用一个类代表一个事物。 Date类在Java中代表的是系统当前此刻日期时间对象。 Date类: 包:java.util.Date. 构造器: public Date(): 创建当前系统的此刻日期时间对象。 public Date(long time); 方法: public
阅读全文
摘要:package com.itheiReview; /** * @program: javaDemo01->TestReview * @description: 复习案例 * @author: 安生 * @create: 2021-01-19 22:51 **/ import java.securit
阅读全文
摘要:目标:引用类型强制类型转换 引用类型强制类转换的语法: 1,父类类型的变量或者对象必须强制类型转换成子类类型的变量,否则报错! 强制类型转换的格式: 类型: 变量名称 = (类型)(对象或者变量) 注意:有继承/实现关系的两个类型就可以进行强制类型转换,编译阶段一定不报错! 但是运行阶段可能出现,类
阅读全文
摘要:目标:引用数据类型的自动类型转换。 在基础班学过了基本数据类型的转换。 1,小范围类型的变量或者值可以直接赋值给大范围类型的变量。 2,大范围类型的变量或者值必须强制类型转换给小范围类型的变量。 引用数据类型转换的思想是一样的: 父类类型的范围 -》 子类类型的范围。 Animal cat 引用数据
阅读全文
摘要:目标: 多态的优劣势。 优势: 1,在多态形式下,右边对象可以实现组件切换。业务功能也随之改变。 便于扩展和维护,可以实现类与类之间的解耦。 2,实际开发的过程中,父类类型作为方法形式参数,传递子类对象给方法, 可以传入一切子类对象进行方法的调用,更能体现出多态的扩展性与便利。 劣势: 1,多态模式
阅读全文
摘要:目标:多态的入门概述。 面向对象的三大特征: 封装,继承,多态。 多态的形式: 父类类型 对象名称 = new 子类构造器; 接口 对象名称 = new 实现类构造器; 父类类型的范围 > 子类类型范围的。 多态的概念: 同一个类型的对象,执行同一个行为,(记住是行为也就是方法,变量不是) 在不同的
阅读全文
摘要:目标:枚举类用于做信息标志和信息分类。 常量做信息标志和分类,虽然也挺好,但是入参不受控制,入参太随性无法严谨。 枚举采用于做信息标志和信息分类,优雅! 小结: 建议以后做信息标志和信息分类采用枚举进行! package 枚举类的使用; /** * @program: javaDemo01->Eum
阅读全文
摘要:枚举类的格式: 修饰符 enum 枚举名称{ 实例1名称,实例2名称。。。 } 枚举类第一行罗列的必须是枚举类的对象名称 枚举类的特点: 1,枚举类是final修饰的,不能被继承。 2,枚举类默认继承了枚举类型;Java.lang.Enum。 3,枚举类的第一行罗列的是枚举类的对象。而且是用常量存储
阅读全文
摘要:目标: 单例设计模式。(面试重点,常考) 什么是单例? 单例的意思是一个类永远只存在一个对象,不能创建多个对象。 为什么要用单例? 开发中有很多类的对象我们只需要一个,例如虚拟机对象!任务管理对象! 对象越多越占内存,有些时候只需要一个对象就可以实现业务,单例可以节约内存,提高性能! 如何实现单例?
阅读全文
摘要:目标:final修饰静态成员变量。 final修饰变量的总规则,有且仅能被赋值一次。 final修饰静态成员变量,变量变成了常量。 常量:有public static final 修饰,名称字母全部大写,多个单词用下划线连接。 拓展: final修饰静态成员变量可以在哪些地方赋值一次。 1,定义的时
阅读全文
摘要:目标:final关键字讲解。 final是“最终”的含义。 final可以用于修饰类,方法,变量。 (1) final修饰类;类不能被继承了。 (2)final修饰方法,方法不能被重写。 (3)final修饰变量,变量有且仅能被赋值一次。 拓展:请问abstract和final的关系是什么? 互斥关
阅读全文
摘要:目标:静态代码块和实例代码块 类有5大成分:成员变量,方法,构造器,代码块,内部类。 代码块按照有无static修饰可以分为:静态代码块,实例代码块。 (1) 静态代码块: 格式:static { } 必须用static修饰,属于类,会与类一起优先加载,而且自动触发执行一次! 静态代码块可以用于在执
阅读全文
摘要:目标:接口和抽象类两种没有谁更牛逼?主要要看不同的适用场景。 相同点: 接口和抽象类: 都有抽象方法,都不能创建对象。 都是为了被子类继承或实现 抽象类相当于亲爹,所以子类只能继承一个抽象类,不过抽象类可以继承抽象类 相当于弥补了这点 接口相当于干爹,所以子类可以多实现多个接口,而每个接口里面的东西
阅读全文
摘要:这个一般比较少用到 主要复习下前面的知识,只是语法记住就可以。 目前所学都只是“基础班“的知识 离就业班的还差十万八千里 不过量变才能引发质变 先记住 记得很熟 引入: 类与类是单继承关系,一个类只能继承一个直接父类。 类与接口是多实现关系,一个类可以实现多个接口。 接口与接口是多继承, 接口可以继
阅读全文
摘要:目标: 接口的多实现。 类与类是单继承关系。 类与接口是多实现关系。 类实现接口的格式: 修饰符 class 实现类名称 implements 接口1,接口2,接口3,接口4...{ } implements: 类实现接口的关键字。 小结: 一个类实现多个接口,必须重写完全部接口中的全部抽象方法,否
阅读全文
摘要:目标: 接口的基本实现。 子类 继承 父类 实现类 实现 接口 类与类是继承关系。 类与接口是实现关系。接口是被类实现的。 实现接口的类称为:实现类。 类实现接口的格式: 修饰符: class 实现类名称 implenments 接口1,接口2,接口3,接口4,接口5....{ } implemen
阅读全文
摘要:目标:接口的概述。(认识接口)。 什么是接口? 接口是更加彻底的抽象,在JDK 1.8之前接口中只能是抽象方法和常量。 接口体现的是规范思想,实现接口的子类必须重写接口的全部抽象方法。 接口的定义模式:(关注语法即可) 修饰符: interface 接口名称 { //在JDK 1.8之前接口中只能是
阅读全文
摘要:目标:抽象类设计模板设计模式。 什么是设计模式? 设计模式是前人或者技术大牛或者软件行业在生产实战中发现的优秀软件设计架构和思想。 后来者可以直接用这些架构或者思想就可以设计出优秀,提高开发效率,提高软件可扩展性和可维护性 模板设计模式就是一种经典的设计模式思想。 模板设计模式的作业,优化代码架构,
阅读全文
摘要:目标:抽象类存在的意义。 抽象类存在的意义有两点: 1.抽象类的核心意义就是为了被子类继承(就是为了派生子类),否则抽象类毫无意义!(基本准则) 拓展:2、抽象类体现的是模板思想,部分实现,部分抽象,可以设计模板设计模式。
阅读全文
摘要:目标:抽象类的特征 抽象类的特征是: 有得有失。 有得:抽象类得到了拥有抽象方法的能力。 有失:抽象类失去了创建对象的能力。(抽象类不能创建对象) 面试题: 抽象类是否有构造器,抽象类是否可以创建对象,为什么? 答:抽象类作为类一定有构造器,而且抽象类必须有构造器。 提供给子类创建对象调用父类构造器
阅读全文
摘要:目标:抽象类的使用。 抽象类的作用,为了被子类继承。 小结: 抽象类是为了被子类继承,约束了子类要重新抽象方法。 注意:一个类继承了抽象类,必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类、。
阅读全文
摘要:目标:抽象类的概述。 什么是抽象类? 父类知道子类一定要完成某个功能,但是每个子类完成的情况是不一样的。 子类以后也只会用自己重写的功能,那么父类的该功能就可以定义成抽象方法,子类重写调用子类自己 什么是抽象方法? 抽象方法,没有方法体,只有方法签名,必须用abstract修饰。 拥有抽象方法的类必
阅读全文
摘要:目标: 引用类型作为方法参数和返回值。 引用类型作为Java的数据类型,自然可以作为方法的参数类型和返回值类型。 除了基本数据类型都是引用数据类型了。 关注语法即可! 小结: 引用类型作为数据类型可以在一切可以使用类型的地方使用;
阅读全文
摘要:目标: 继承的特点: 1、单继承 一个类只能继承一个直接父类 为什么Java是单继承的/为什么Java不能多继承? 答: 反证法;如果Java不是单继承 请看如下代码: class A{ public void test() { System.out.print("A") } } class B{
阅读全文
摘要:Java目前处于学习语法的阶段 特点 : 很多要记住的 因为Java就喜欢这样 , 就这么设计的 Java 同时也是非常严谨的 遵从人类的价值观 不会乱伦之类的 就像玩游戏,要遵守游戏的规则,起码先掌握规则,才能玩得起! ! !
阅读全文
摘要:目标: 继承后 构造器的特点: 特定: 子类的全部构造器默认一定会先访问父类的无参数构造器,再执行子类自己的构造器 为什么子类构造器会先调用父类构造器? 1、子类的构造器的第一行默认就有一个super()调用父类的无参数构造器,写不写都存在! 2、子类继承父类,子类就得到了父类的属性和行为,必须先调
阅读全文
摘要:目标: 方法重写 方法重写的概念: 子类继承了父类,子类就得到了父类的某个方法 但是子类觉得父类这个方法不好用或者无法满足自己的需求 子类重写一个与父类申明一样的方法来覆盖父类的该方法,子类的这个方法就进行了方法重写。 方法重写的校验注解:@Override Java建议在重写的方法上面加上一个@O
阅读全文
摘要:目标: 继承后成员变量的访问特定: 就近原则: 子类有就找子类,子类没有就找父类,父类没有就报错 小结: this关键字代表当前对象的引用,可以用于访问当前子类对象的成员变量。 super关键字代表对父类对象的引用,可以用于访问父类中的成员变量。
阅读全文
摘要:引入: 子类继承父类,子类就得到了父类的属性和行为 但是并非所有父类的属性和行为子类都可以继承; 子类不能继承父类的东西: 子类不能继承父类的构造器。(没有争议) 有争议的观点(扩展) 子类是否可以继承父类的私有成员(私有成员变量,私有成员方法)? 我认为子类是可以继承父类的私有成员的,但是不能访问
阅读全文
摘要:在过去的时间里 或许浪费了许多的时间,错过了许多的东西,也遗忘了很多的东西 当看到博客的年龄已经1年6个月的时候 不禁汗颜 意识到了自己的错误 但人生没有后悔 现在开始我又要重新开始走Java的路 或许要重新走过 这条路绝对比我想象的还要难 而我经过放弃一次后 再重新来也清楚这件事的难度 但好像互联
阅读全文