Java基础
Java程序员的入门教程
codedot
多笔记,少脑记,更轻松!
展开
-
JDK为我们提供的工具
JDK是一个功能强大的Java开发套装,它不仅仅为我们提供了Java运行环境,还给开发人员提供了许多有用的开发组件(位于bin目录中)。仅仅使用JDK,就能够解决我们在Java开发过程中遇到的许多问题。一、JDK自带工具列表...原创 2020-12-19 13:29:04 · 3652 阅读 · 1 评论 -
JDK版本变迁史
一、开篇转载 2020-12-18 13:22:27 · 3638 阅读 · 1 评论 -
JVM、JRE、JDK分别是什么
JVM:Java Virtual Machine,Java虚拟机。JRE:Java runtime environment,Java运行环境,JDK:Java Development Kit,Java开发工具包。JDK是给开发人员用的,JRE和JVM是普通用户用的。它们三的关系如图:一、JVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。 也就是说class并不直接转载 2020-12-17 23:15:46 · 324 阅读 · 0 评论 -
Java基础语法
一、标识符二、关键字转载 2020-12-17 08:51:57 · 104 阅读 · 0 评论 -
面向对象
一、面向过程的思想和面向对象的思想面向对象和面向过程的思想有着本质上的区别:作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应该分析这个问题里面有哪些类和对象,这是第一点,然后再分析这些类和对象应该具有哪些属性和方法。这是第二点。最后分析类和类之间具体有什么关系,这是第三点。面向对象有一个非常重要的设计思维:合适的方法应该出现在合适的类里面二、简单理解面向对象在程序里面首先分解出来的不再是一步一步的过程了,而是首先考虑在这转载 2020-12-17 09:36:45 · 118 阅读 · 0 评论 -
异常处理
一、异常的概念异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误。出现错误时观察错误的名字和行号最为重要。public class TestEx{ public static void main(String args[]){ int arr[]={1,2,3}; System.out.println(arr[2]); /** * 这里使用try……catch来捕获除以0产生的异常,其基本格式是:转载 2020-12-17 12:31:07 · 108 阅读 · 0 评论 -
数组
一、数组的基本概念数组可以看成是多个相同类型数据组合,对这些数据的统一管理。 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。 数组的元素可以是任何数据类型,包括基本类型和引用类型。 C和C++中的数组都可以分配在栈上面,而JAVA中的数组是只能分配在堆上面的,因为JAVA中的数组是引用类型。二、一维数组一维数组的声明方式有2种:...转载 2020-12-17 13:37:01 · 115 阅读 · 0 评论 -
this、super关键字讲解
一、this关键字this是一个引用,它指向自身的这个对象。看内存分析图:假设我们在堆内存new了一个对象,在这个对象里面你想象着他有一个引用this,this指向这个对象自己,所以这就是this,这个new出来的对象名字是什么,我们不知道,不知道也没关系,因为这并不影响这个对象在内存里面的存在,这个对象只要在内存中存在,他就一定有一个引用this。看下面的例子分析:public class Leaf { int i = 0; public Leaf(int转载 2020-12-17 21:40:12 · 433 阅读 · 0 评论 -
static关键字
一、Static关键字原来一个类里面的成员变量,每new一个对象,这个对象就有一份自己的成员变量,因为这些成员变量都不是静态成员变量。对于static成员变量来说,这个成员变量只有一份,而且这一份是这个类所有的对象共享。静态成员变量与非静态成员变量的区别...转载 2020-12-17 21:47:50 · 64 阅读 · 0 评论 -
final关键字
谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。一、final关键字的基本用法在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用法。修饰类当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。f转载 2020-12-18 13:04:58 · 57 阅读 · 0 评论 -
Object类及其toString和equals方法介绍
一、Object类介绍Object类在JAVA里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父类又是从另外一个父类继承过来,那他也只能有一个父类,父类再有父类,那也只能有一个,JAVA为了组织这个类组织得比较方便,它提供了一个最根上的类,相当于所有的类都是从这个类继承,这个类就叫Object。所以Object类是所有JAVA类的根基类,是所有JAVA类的老祖宗。所有的类,不管是谁,都是从它继承下来的。二、toString方法介绍一个字符串和另外一种类型连接的转载 2020-12-17 22:17:30 · 272 阅读 · 0 评论 -
方法重写(0veriding)和方法重载(Overloading)
一、方法重写(0veriding)在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量。子类可以定义新的特征,当子类需要修改父类的一些方法进行扩展,增大功能,程序设计者常常把这样的一种操作方法称为重写,也叫称为覆写或覆盖。重写体现了Java优越性,重写是建立在继承关系上,它使语言结构更加丰富。在Java中的继承中,子类既可以隐藏和访问父类的方法,也可以覆盖继承父类的方法。在Java中覆盖继承父类的方法就是通过方法的重写来实现的。所谓转载 2020-12-17 22:51:04 · 139 阅读 · 0 评论 -
多态(动态绑定)
一、面向对象最核心的机制——动态绑定,也叫多态通过下面的例子理解动态绑定,即多态class Animal { /** * 声明一个私有的成员变量name。 */ private String name; /** * 在Animal类自定义的构造方法 * @param name */ Animal(String name) { this.name = name; } /**转载 2020-12-17 23:00:18 · 637 阅读 · 0 评论 -
对象转型
一、对象转型介绍对象转型分为两种:一种叫向上转型(父类对象的引用或者叫基类对象的引用指向子类对象,这就是向上转型),另一种叫向下转型。转型的意思是:如把float类型转成int类型,把double类型转成float类型,把long类型转成int类型,这些都叫转型。把一种形式转成另外一种形式就叫转型。除了基础数据类型的转型之外(基础数据类型的转型:大的可以转成小的,小的也可以转成大的。),对象领域里面也有对象之间的转型。对象转型实例一/** * 父类Animal * */class转载 2020-12-18 09:09:06 · 206 阅读 · 0 评论 -
抽象类
一、抽象类介绍下面通过一下的小程序深入理解抽象类因此在类Animal里面只需要定义这个enjoy()方法就可以了,使用abstract关键字把enjoy()方法定义成一个抽象方法,定义如下:publicabstractvoidenjoy();从某种意义上来说,抽象方法就是被用来重写的,所以在父类声明的抽象方法一定要在子类里面重写。如果真的不想在子类里面重写这个方法,那么可以再在子类里面把这个方法再定义为抽象方法,因为子类觉得我去实现也不合适,应该让继承我的子类去实现比较合适,因此...转载 2020-12-18 09:16:03 · 75 阅读 · 0 评论 -
接口
一、接口的概念JAVA是只支持单继承的,但现实之中存在多重继承这种现象,如“金丝猴是一种动物”,金丝猴从动物这个类继承,同时“金丝猴是一种值钱的东西”,金丝猴从“值钱的东西”这个类继承,同时“金丝猴是一种应该受到保护的东西”,金丝猴从“应该受到保护的东西”这个类继承。这样金丝猴可以同时从“动物类”、“值钱的东西类”、“应该受到保护的东西”这三个类继承,但由于JAVA只支持单继承,因此金丝猴只能从这三个类中的一个来继承,不能同时继承这三个类。因此为了封装现实生活中存在的多重继承现象,为了实现多继承..转载 2020-12-18 09:02:55 · 82 阅读 · 0 评论 -
泛型
泛型存在的意义?泛型类,泛型接口,泛型方法如何定义?如何限定类型变量?泛型中使用的约束和局限性有哪些?泛型类型的继承规则是什么?泛型中的通配符类型是什么?如何获取泛型的参数类型?虚拟机是如何实现泛型的?在日常开发中是如何运用泛型的?一、泛型的定义以及存在的意义泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。例如:GenericClass<T&.转载 2020-12-19 11:57:41 · 135 阅读 · 2 评论 -
枚举Enum
枚举是Java1.5引入的新特性,通过关键字enum来定义枚举类。枚举类是一种特殊类,它和普通类一样可以使用构造器、定义成员变量和方法,也能实现一个或多个接口,但枚举类不能继承其他类。...原创 2020-12-19 13:25:39 · 174 阅读 · 1 评论 -
编译期和运行期
编译期:检查是否有语法错误,如果没有就将其翻译成字节码文件。即.class文件。把源代码转换成(翻译)低级语言的程序。运行期:java虚拟机分配内存,解释执行字节码文件。编译是将你写的代码弄成Java虚拟机可以执行的字节码。运行是Java虚拟机运行你写的代码(编译后的字节码文件),然后显示运行结果。Java代码是为了编程方便,而Java虚拟机是不能直接执行Java代码的,所以要把Java代码编译,也就是生成.class文件,然后再由Java虚拟机运行字节码文件,结果才是你写的程序。一...转载 2020-12-19 21:20:35 · 1317 阅读 · 1 评论 -
反射
通过 Java 的反射机制,程序员可以更深入地控制程序的运行过程。原创 2020-12-19 21:10:14 · 187 阅读 · 1 评论 -
Java注解(Annotation)
Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 当然它也支持自定义 Java 标注。一、内置的注解Java 定义了一套注解,共有 7 个,3 个在 java.lang 中,剩下 4 个在 java.lang.an转载 2020-12-19 16:10:00 · 170 阅读 · 2 评论 -
集合
开篇原创 2020-12-19 22:51:02 · 88 阅读 · 1 评论 -
Java IO(BIO)
一、流的概念和作用流:代表任何有能力产出数据的数据源对象或者是有能力接受数据的接收端对象。流的本质:数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。作用:为数据源和目的地建立一个输送通道。从传输的内容的不同,总体上可以分为两大类,即字节流和字符流。二、IO的分类字节流1、输入流这里又区分为节点流和处理流,由于处理流都是装饰器流,所以都会迭代在节点流之上工作。2、输出流输出流当然与输入流类似,节点流可以单独使用,但是处理流需要迭代...原创 2020-12-19 22:49:06 · 93 阅读 · 1 评论 -
File、RandomAccessFile类
一、File类Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。File对象代表磁盘中实际存在的文件和目录。File类定义File类的包名是java.io,其实现了Serializable, Comparable两大接口以便于其对象可序列化和比较。public class File implements Serializable,Comparable<File>{}File.separatorChar -- 静原创 2020-12-20 09:57:24 · 350 阅读 · 1 评论 -
Java NIO
开篇原创 2020-12-19 22:54:26 · 149 阅读 · 1 评论 -
网络编程
开篇原创 2020-12-20 11:51:20 · 61 阅读 · 1 评论 -
Java值传递
开篇原创 2020-12-20 11:52:22 · 83 阅读 · 1 评论 -
如何将代码动态编译成字节码
详解原创 2020-12-23 10:09:21 · 225 阅读 · 1 评论 -
动态代理
动态代理介绍原创 2020-12-24 10:00:21 · 136 阅读 · 0 评论 -
正则表达式
正则表达式使用原创 2020-12-24 10:01:21 · 256 阅读 · 0 评论 -
JSON操作
JSON使用介绍原创 2020-12-24 10:03:29 · 591 阅读 · 0 评论 -
JDK 8 新特性
Jdbc使用介绍原创 2020-12-24 10:08:31 · 88 阅读 · 0 评论 -
Java事件机制
Java事件机制详解原创 2021-03-13 22:43:45 · 105 阅读 · 0 评论