
JAVA学习笔记
wave1996
这个作者很懒,什么都没留下…
展开
-
【算法】十大排序算法总结(Java代码实现)
最近遇到了一个排序问题,却发现自己十大经典排序算法记不清了。我本来以为十大排序算法这么经典的东西,网上肯定会有含有测试的 Java 代码实现,应该很容易就能找到。不过出乎意料的是,现在的这些能汇集全部排序算法的总结篇都或多或少的有点问题。所以我还是自己全部写一遍,正好复习一下。代码在结尾,并且包含测试用例。这篇博客中所提到的所有排序算法均以从小到大排序为例,其他情况请自行类比。本文只适合已经学过排序并想再回顾一遍的人,很多地方只是提一下排序的思路。如果完全没有学过,建议还是先去系统地学习一下。.转载 2020-05-09 12:11:07 · 400 阅读 · 1 评论 -
Java是引用传递还是值传递?
小A:MDove,我有一个疑问:Java的方法中是引用传递还是值传递呢?MDove:想要解答这个问题,我们需要先明确一个问题:那就是引用传递和值传递的区别。咱们先看俩行代码:如图,int是基本类型,66直接保存在变量count中。而对于引用类型来说,变量存的是实例对象的地址,如上图也画的0x10一样,它指向实例对象。一般称这种变量为"引用"。对于我们的String str =...转载 2020-02-08 16:55:37 · 177 阅读 · 0 评论 -
构造器里面的super()有什么用?到底写不写?
平时写的单独一个类如果没有直接继承父类就是直接继承的Object,有父类就是间接继承的Object,因为父类会继承Object,java的所有类都是Object的子类,哪怕不写super(),也会默认调用的父类的空构造器。接下来举个例子class A{ public A() { System.out.println("A的无参数构造器"); } p...转载 2020-01-19 18:33:08 · 740 阅读 · 0 评论 -
类加载的初始化
初始化阶段是执行类构造器<clinit>()方法的过程,类构造器<clinit>()方法是由编译器自动收集类中的所有类变量的复制动作和静态语句块(static块)中的语句合并产生的当初始化一个类的时候,如果发现其父类还没有进行过初始化,则需要先触发其父类的初始化当访问一个Java类的静态域时,只有真正声明这个域的类才会被初始化public class Demo...原创 2020-01-18 21:50:25 · 252 阅读 · 0 评论 -
匿名内部类如何访问外部类的成员变量
直接访问对局部变量有要求具体如下: (1)内部类里面使用外部类的局部变量时,其实就是内部类的对象在使用它,内部类对象生命周期中都可能调用它, 而内部类试图访问外部方法中的局部变量时,外部方法的局部变量很可能已经不存在了,那么就得延续其生命, 拷贝到内部类中,而拷贝会带来不一致性,从而需要使用final声明保证一致性。说白了,内部类会自动拷贝外部变量 的引用,为了避免: 外部方法...转载 2020-01-14 22:45:44 · 2967 阅读 · 0 评论 -
java在类的定义中创建自己的对象?
在书上经常看到这样的例子public class A(){ int yy=0;public static void main(String[] agrs){ A aa=new A(); }}我想知道的是,A是一个类,而main方法是A类中的一个方法,为什么可以在main方法里创建一个自己的对象?那是不是也可以使用aa.main(参数)的形式来调用它?请高人解...转载 2020-01-14 17:45:28 · 8513 阅读 · 7 评论