
JavaSE
文章平均质量分 92
相关知识
¥小包
这个作者很懒,什么都没留下…
展开
-
泛型教程
????1、泛型语法2、泛型的意义 :3、泛型的坑:4、泛型是如何编译的5、泛型类的边界6、通配符7、泛型总结在看泛型之前,我们来思考一个问题,此时我手里有一个存储int类型的ArrayList,我想把它改造为一个通用的容器,可以实现double、float、String等各种类型的存储,这时你会怎么做。首先要做到满足各种类型,我又想到了Object类型是所以类型的默认父类,所以可以考虑将ArrayList的底层数组设计为Object类型,这样就实现了通用public class MyArrayList原创 2020-08-19 14:36:10 · 334 阅读 · 0 评论 -
匿名内部类、实例内部类、静态内部类的使用
????一、实例内部类二、匿名内部类三、静态内部类一、实例内部类实例内部类看作是一个普通的实例数据成员如果内部类与外部类没有同名方法或属性,内部类可以直接调用外部类的方法和字段如果内部类有同名方法或属性,必须使用"外部类名.this.方法名/属性"格式调用内部类实例化不同于普通类,普通类可以在任意需要的时候实例化,而内部类必须在外层类实例化以后方可实例化,并与外部类建立关系。因此在外部类中的非static方法中,是可以实例化内部类对象访问内部类的属性和方法,一般通过外部类名.内部类名 对原创 2020-08-19 11:02:54 · 649 阅读 · 0 评论 -
Java的异常:Error与Exception-------异常体系详细梳理总结
????一、 什么是异常二、为什么用使用异常三、异常体系1、Throwable2、Error3、非受查异常4、受查异常5、自定义异常四、使用方式1、try catch 异常捕获2、finally的坑一、 什么是异常所谓异常指的就是程序在运行时出现错误时通知调用者的一种机制。有些错误是这样的, 例如将 System.out.println 拼写错了, 写成了system.out.println就会报错,这属于语法上的错误。而运行时指的是程序已经编译通过得到 class 文件了, 再由 JVM 执行过程中原创 2020-08-15 16:02:58 · 805 阅读 · 0 评论 -
Java中String类型不可变、String在内存的位置、StringBuffer和StringBuild,equals、==、comparTo区别等常见陷阱详解
????一、String类型不可变1、什么是不可变2、为什么不可变3、不可变的好处①字符串常量池的需要②更加安全的③String存缓HashCode二、String对象在内存中位置三、String、StringBuffer、StringBuild区别四、equals、==、comparTo的区别一、String类型不可变1、什么是不可变 String str = "hello" ; str = str + " world" ; str += "!!!" ;原创 2020-08-14 21:46:32 · 872 阅读 · 0 评论 -
java中永远都是值传递,没有引用传递对吗?
????1、基本数据类型参数传递2、引用数据类型参数传递3、"传引用"一定能成功修改值吗?错误理解①:值传递和引用传递,区分的条件是传递的内容,如果是个值,就是值传递。如果是个引用,就是引用传递。错误理解②:Java是引用传递。错误理解③:传递的参数如果是普通类型,那就是值传递,如果是对象,那就是引用传递。基本数据类型: byte char short int long float double boolean引用数据类型: 接口类型(List) 、类类型(ArrayList) 、数组(int原创 2020-08-14 12:26:22 · 418 阅读 · 0 评论 -
Java中this和super、final和static、abstract和interface关键字的用法详细总结
????一、this二、super三、final四、static五、抽象类和接口的异同点一、thisthis是代表当前对象的引用我们会发现在构造函数的内部,我们可以使用this关键字,构造函数是用来构造对象的,对象还没有构造好,我们就使用了this,那this还代表当前对象吗?当然不是,this代表的是当前对象的引用。一个对象的产生分为几步? ①为对象分配内存 ②调用合适的构造方法。(构造方法不止一个)那么既然对象产生分两步,必须把两步骤完成,第二步走完之后才会产生对象,而产生对象的过程中就用th原创 2020-08-12 20:32:29 · 793 阅读 · 0 评论 -
面向对象的三大基本特征是什么?------通过代码讲解
????一、封装二、继承三、多态一、封装封装就是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别,通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口。对象是封装类的实例,比如张三是人,人是一个封装类,张三只是对象中的一个实例、一个对原创 2020-08-12 14:32:53 · 658 阅读 · 0 评论 -
Integer和int的区别你真的知道吗?
.一、什么是包装类型二、如何操作三、Integer和int易错点------必看一、什么是包装类型Java 是一个近乎纯洁的面向对象编程语言,但8种基本数据类型不是对象。为了解决这个问题, 能够将这些基本数据类型当成对象操作,Java 为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从JDK 1.5 开始引入了自动装箱/拆箱机制,使得二者可以相互转换。原始数据类型和java泛型并不能配合使用。因为java的泛型某种程度上可以算作伪泛型,它完原创 2020-08-09 22:37:13 · 402 阅读 · 0 评论 -
深拷贝与浅拷贝之Java数组的四种拷贝方式
四种方式1、for循环手动拷贝2、Arrays.copyOf( )3、System.arraycopy()4、源数组名.clone() 数组的深拷贝: 当数组的内容是简单类型,例如int之类的,拷贝过去的只是简单类型的值,在拷贝完成后修改Array2内的元素,不会影响原数组Array1里面的内容。因为通过的是Array2的引用修改的是自身的值,所以Array1中的内容不受到影响 数组的浅拷贝: 当数组中存放的是引用类型(地址),进行拷贝后,原数组中存放的地址被一同拷贝到新数组中,此时相当于两个相同的原创 2020-08-09 01:20:31 · 860 阅读 · 0 评论 -
Java递归与迭代求斐波那契数列
Fibonacci 数列:指的是这样一个数列:1、1、2、3、5、8、13、21、34……即从第三项开始,每一项等于它的前两项之和。递归程序调用自身的编程技巧称为递归。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要...原创 2020-04-13 15:28:06 · 1467 阅读 · 0 评论 -
java main函数为什么是静态的,其中args参数什么意思
一、staticpublic static void main(String[] args) {}java中这句话是大家最熟悉的,那为什么main方法必须是静态的呢JVM会查找类中的public static void main(String[] args),如果找不到该方法就抛出错误NoSuchMethodError:main,程序终止。由于main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例。如果main方法不声明为静态的,JVM就必须创建main类的实例,原创 2020-08-08 20:05:58 · 754 阅读 · 0 评论