携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情
❤️作者主页:小虚竹
❤️作者简介:大家好,我是小虚竹。Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作者🏆,阿里云专家博主🏆
❤️技术活,该赏
❤️点赞 👍 收藏 ⭐再看,养成习惯
PC端主页可联系我,欢迎问题咨询和技术交流!
零、前言
我的学习策略很简单,题海策略+ 费曼学习法。如果能把这100题都认认真真自己实现一遍,那意味着 JAVA语言 已经筑基成功了。后面的进阶学习,可以继续跟着我,一起走向架构师之路。
题目描述:JAVA高级技术-反射实战1(动态实例化类)
一、题目
JAVA一般是使用构造方法来创建对象,构造方法又分有参构造和无参构造。如果类里面没有定义构造方法,编译器会添加一个无参构造方法。
除了用构造方法,还可以用反射创建对象。
二、解题思路
定义一个类,名为NewClassTest
在main方法中,创建一个File对象,对使用这个File对象在D盘创建一个文本文件。
使用Constructor类及其相关方法实现。
Constructor类提供类的单个构造方法的信息以及对它的访问权限。
三、代码详解
public class NewClassTest {
public static void main(String[] args) {
try {//获得File类的Constructor对象
Constructor<File> constructor =
File.class.getDeclaredConstructor(String.class);
System.out.println("使用反射创建File对象");
File file = constructor.newInstance("d://小虚竹.txt");
System.out.println("使用File对象在D盘创建文件:小虚竹.txt");
file.createNewFile();//创建新的文件
System.out.println("文件是否创建成功:" + file.exists());
} catch (Exception e) {
e.printStackTrace();
}
}
}