Java 的反射机制

好久没写文章了,忙完了三个课程设计又要去培训了,趁着培训还没开始赶紧写篇文章。昨天学习了 Java 中的反射机制,这里做一个记录。

Java 反射机制

Java 的反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法或访问它的任意一个属性,这种动态获取的信息以及动态调用访问对象的方法和属性的功能称为 Java 语言的反射机制。

Java 的反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时获得任意一个类声明的属性和方法;在运行时调用任意一个对象的方法;在运行时访问或修改任意一个对象的属性等等。

下面我会分别对这5个功能进行说明,同时最后会给出一个完整的示例程序,建议在看那五部分的说明时对照着示例程序阅读。

想看更多?点我点我 “Java 的反射机制”

Java 对象克隆——Object.clone()

Java中对象的传递都是引用传递,那么如果我们只是想将一个对象的属性值复制给另一个对象,就可以使用

protected Object clone() throws CloneNotSupportedException

来实现一个对象的复制。下面就简单说一说 clone() 方法的使用。 想看更多?点我点我 “Java 对象克隆——Object.clone()”

Java 中 final 关键词的使用

上一篇文章我们讲了 java 中 static 关键字的使用,这里再将一下 final 关键字的使用。final 在 java 中可以看做一个“终结者”,它可以定义类定义方法定义变量

定义类的时候,该类不能被继承

定义方法的时候,该方法不能被子类覆盖(Override)

定义变量的时候,该变量只能在定义的时候初始化,后期不能做改变,即变为一个常量。

哎呀,好像没别的可说了,就这样吧,这可能是我写过的字数最少的一篇文章了 :(小乖)

算了,最后加一个示例程序吧,当然是错误的程序,包含了以上三种使用方法的错误使用报错信息 想看更多?点我点我 “Java 中 final 关键词的使用”

Java 中 static 关键字的使用

static 一词是“静态的”意思,在 Java 中,我们写主方法的时候就一直用的是 static,static 不仅可以修饰方法,也可以修饰类的属性和代码块。下面就讲一讲 static 关键字的使用:静态属性静态方法静态主方法静态代码块

想看更多?点我点我 “Java 中 static 关键字的使用”

关于 Java 中的堆内存和栈内存

最近在看 Java 书的过程中发现书中多次提到了堆内存和栈内存。在之前学习的数据结构中,我的认知还仅仅限于堆栈,不知道堆和栈是两个不同的概念。问了算法&数据结构大佬( @Simple )之后自己又上网查了查,才发现原来在 Java 中所说的堆和栈是两个不同的内存区,这里做个笔记。

在 Java 中,栈(stack)是由编译器自动分配和释放的一块内存区域,主要用于存放一些基本类型(8种基本类型:int,short, long, byte, float, double, boolean, char)的变量、指令代码、常量以及对象的引用。

堆(heap)是一个程序运行时动态分配的内存区域,在 Java 中,构建对象时所需要的内存从堆中分配。这些对象通过 new 指令来显式建立,堆内存在使用完毕后,由垃圾回收(GC)器来隐式回收的。

想看更多?点我点我 “关于 Java 中的堆内存和栈内存”

Java数据结构-实现单链表的增删查反转和串联操作

这个单链表写了一个月了总算是写出来了,以后可不能再拖延了 :(委屈)

本篇是用 Java 实现单链表的创建、添加结点(按数据和索引值)、删除结点(按数据和索引值)、打印输出结点、反转单链表和串联单链表。以下全是代码,具体的可以看注释。

想看更多?点我点我 “Java数据结构-实现单链表的增删查反转和串联操作”

Java数据结构-实现矩阵的相关运算:加减乘、转置和压缩稀疏矩阵

自从回到家就忘记了学习,今天好不容易想起来要学习了赶紧记录一下,也算是督促自己了 :!:

这篇将用Java实现矩阵和矩阵的相关运算:加法、减法、乘法、矩阵的转置、稀疏矩阵的随机产生和压缩存储等。以下内容全部是代码 :(呵呵)

想看更多?点我点我 “Java数据结构-实现矩阵的相关运算:加减乘、转置和压缩稀疏矩阵”