从零开始学Java之 编写简单的工程

笔者本人从最初开始接触C语言、C++、VC++、汇编到后来接触PHP以及Java,在这些语言的使用过程中深刻感受到这些语言都是相同的编写思路,代码编写的方式也是大同小异,目前认为Java语言的亮点是package以及反射机制。

package不仅提供了命名空间功能,还可以用来区分代码模块(C语言需要创建刷选器添加模块文件,工程目录中为了方便看出具体模块文件需要保存到与刷选器同名或类似的文件夹内)。

Java反射机制的亮点在于可以指定任何存在的类(包括动态生成的类)获取对象,而不用去考虑别的因素(在虚拟机中通过遍历所有映射的对象进行匹配)。而在C++语言中,只有虚子类(必须是继承的形式,并且基类结合了运行时方法达到动态储存继承类)达到伪反射(因为功能不够全面暂且定义为伪反射…)。

下面切入主题:

1.在package内创建一个执行文件,并且在别的package类中调用:

这里写图片描述

从图中可以看出在package内创建了一个文件,文件的第一行是引入package,现在创建另外的package以及调用oper类的文件;

这里写图片描述

在Run文件中,第一行指定所在的package(Running),第二行引用package(operation)中的oper类,

这里写图片描述

第二种调用方式:指定需要调用的package.类名,这种调用的好处在于可以防止与别的package有类重名的情况。

2.反射用法:通过类名调用类函数:

这里写图片描述

//首先引入反射类、异常类等
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

//获取指定类名称
Class operat = Class.forName("operation.oper");

//创建类的实例
Object Oper = operat.newInstance();

//获取指定函数,在oper类中写了Add函数,并且有2个int参数
Method set = operat.getMethod("Add", int.class,int.class);

//对属性设置访问权限
set.setAccessible(true);

//调用这个函数
System.out.println(((operation.oper) Oper).Add(10,100));

Java在我接触过的语言中,无论是易用性还是功能性都是比较靠前的,下一步继续摸索Java语言的奇妙之处。

猜你喜欢

转载自blog.csdn.net/a29562268/article/details/80214148