随笔分类 - JAVA基础学习
摘要:一、认识泛型 1、为什么要引入泛型? 泛型其实是在jdk1.5中才添加的。在jdk1.5之前我们要创建一个容器对象,是这样往里面添加内容的。 List list = new ArrayList(); list.add("我是字符串");//可以添加字符串 list.add(10.67);//可以添加
阅读全文
摘要:题目描述(困难难度) 依旧是二分查找树的题,一个合法的二分查找树随机交换了两个数的位置,然后让我们恢复二分查找树。不能改变原来的结构,只是改变两个数的位置。二分查找树定义如下: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 若任意节点的右子树不空,则右子树上所有节点的值均大于
阅读全文
摘要:ava程序运行时,数据会分区存放,JavaStack(Java栈)、 heap(堆)、method(方法区)。 1、Java栈 Java栈的区域很小,只有1M,特点是存取速度很快,所以在stack中存放的都是快速执行的任务,基本数据类型的数据,和对象的引用(reference)。 驻留于常规RAM(
阅读全文
摘要:Java API是JDK所提供的使用类,这些类将底层的代码给封装起来了。Object类是java语言中的根类,它所描述的所有方法子类都可以使用,所有类在创建对象的时候,最终找的父类就是Object。在Objec类中,最常见的就是euqals方法和toString方法。equals方法用于比较两个对象
阅读全文
摘要:1.什么是API? 可以理解为Java自己提供的标准类库,开发人员可直接使用其方法, 而不用进行源码实现。如常用的打印方法:System.out.println();,这是Java自己提供的东西。 官方解释:API(Application Programming Interface,应用程序编程接口
阅读全文
摘要:什么是反射 反射机制(Reflection)是指动态获取类信息、动态调用类方法的功能一般来说,程序是在编译期被加载,但反射在编译期并不确定哪个类被加载,而是在程序运行时才被加载、探知、自审 Java反射机制主要提供的功能: 在运行时判断任意一个对象所属的类 在运行时构造任意一个类的对象 在运行时判断
阅读全文
摘要:一个Java对象的创建过程往往包括 类初始化 和 类实例化 两个阶段。 一、Java对象创建时机 我们知道,一个对象在可以被使用之前必须要被正确地实例化。在Java代码中,有很多行为可以引起对象的创建,最为直观的一种就是使用new关键字来调用一个类的构造函数显式地创建对象,这种方式在Java规范中被
阅读全文
摘要:一、抽象类 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为: abstract void fun();复制代码 抽象方法必须用abstract关键字进行修饰。如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstr
阅读全文
摘要:功能和作用的不同构造器是为了创建一个类的实例。这个过程也可以在创建一个对象的时候用到:Platypus p1 = new Platypus(); 相反,方法的作用是为了执行java代码。 修饰符,返回值和命名的不同构造器和方法在下面三个方便的区别:修饰符,返回值,命名。和方法一样,构造器可以有任何访
阅读全文
摘要:什么是构造器构造器通常也叫构造方法、构造函数,构造器在每个项目中几乎无处不在。当你new一个对象时,就会调用构造器。构造器格式如下: [修饰符,比如public] 类名 (参数列表,可以没有参数){ //这里不能有return } 默认构造器如果没有定义构造器,则会默认一个无参构造器,这就是为什么你
阅读全文
摘要:JVM是基于堆栈的虚拟机.JVM为每个新创建的线程都分配一个堆栈.也就是说,对于一个Java程序来说,它的运行就是通过对堆栈的操作来完成的。堆栈以帧为单位保存线程的状态。JVM对堆栈只进行两种操作:以帧为单位的压栈和出栈操作。 差异: 1.堆内存用来存放由new创建的对象和数组。 2.栈内存用来存放
阅读全文
摘要:public class ArrayDemo { public static void main(String[] args) { int array[] =new int[10]; int tmp; for (int i = 0; i <10 ; i++) { array[i]=(int)(Mat
阅读全文
摘要:public class ArrayDemo { public static void main(String[] args) { int array[] =new int[10]; int tmp; for (int i = 0; i <10 ; i++) { array[i]=(int)(Mat
阅读全文
摘要:一维数组:public class ArrayDemo { public static void main(String[] args) { int arr[]=new int[]{1,2,3,4,5,6}; int newArr[]=Arrays.copyOf(arr,8); Arrays.fil
阅读全文
摘要:下面先对static关键字进行一个小小结: (1)特点: 1、static是一个修饰符,用于修饰成员。(成员变量,成员函数)static修饰的成员变量 称之为静态变量或类变量。 2、static修饰的成员被所有的对象共享。 3、static优先于对象存在,因为static的成员随着类的加载就已经存在
阅读全文
摘要:开头注意:static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。 根据定义变量位置的不同,可以将变量分为成员变量和局部变量。 成员变量是 定义在一个类的变量:类中方法外局部变量是定义在一个方法内的变量:方法中
阅读全文
摘要:首先弄明白:静态变量属于类的级别,而实例变量属于对象的级别。对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。 主要区别有两点: 1,存放位置不同 类变量随着类的加
阅读全文
摘要:this关键字必须放在非静态方法里面 this关键字代表自身,在程序中主要的使用用途有以下几个方面: 1、 使用this关键字引用成员变量 应用一:引用成员变量 如上面这段代码中,有一个成员变量name,同时在方法中有一个形式参数,名字也是name,然后在方法中将形式参数name的值传递给成员变量n
阅读全文

浙公网安备 33010602011771号