【java高级程序设计】核心类(获取类)||自食用
2021/9/26 20:11:27
本文主要是介绍【java高级程序设计】核心类(获取类)||自食用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
汇总代码:
package people; import java.util.Arrays; import java.util.List; import customLoader.FileSystemClassLoader; /** * @author: pyu * @Date: 2021/09/26 */ public class Bootstrap { public static void main(String[] args) { //.class方法 System.out.println(".class方法"); Class<Person> clazz1 = Person.class; //拿类Person Class<Bootstrap> clazz2 = Bootstrap.class; //拿本类Bootstrap Class<FileSystemClassLoader> clazz3 = FileSystemClassLoader.class; Class<TestInterf> clazz4 = TestInterf.class; //接口测试 System.out.println(clazz1.getCanonicalName()); //拿规范化名称 System.out.println(clazz2.getCanonicalName()); System.out.println(clazz3.getCanonicalName()); System.out.println(clazz4.getCanonicalName()); //getClass()方法 System.out.println("getClass()方法"); List<Person> Persons = Arrays.asList(new Teacher(),new Student(),new Teacher(),new Person()); for(Person Person:Persons) { if(Person.getClass().equals(Teacher.class)) { //若是Teacher则输出 Person.speak("I am a teacher"); } } //forName()方法 System.out.println("forName()方法"); String className = "customLoader.Sample"; try { Class<?> clazz = Class.forName(className); System.out.println(clazz1.getCanonicalName()); //拿规范化名称 }catch(ClassNotFoundException e) { e.printStackTrace(); } } }
.class方法 people.Person people.Bootstrap customLoader.FileSystemClassLoader people.TestInterf getClass()方法 I am a teacher I am a teacher forName()方法 people.Person
目录
一、Class类
1. 通过.class属性获取类
代码:
2. getClass()方法
代码:
3. forName() 获取
代码:
一、Class类
1. 通过.class属性获取类
代码:
package people; import customLoader.FileSystemClassLoader; /** * @author: pyu * @Date: 2021/09/26 */ public class Bootstrap { public static void main(String[] args) { Class<Person> clazz1 = Person.class; //拿类Person Class<Bootstrap> clazz2 = Bootstrap.class; //拿本类Bootstrap Class<FileSystemClassLoader> clazz3 = FileSystemClassLoader.class; Class<TestInterf> clazz4 = TestInterf.class; //接口测试 System.out.println(clazz1.getCanonicalName()); //拿规范化名称 System.out.println(clazz2.getCanonicalName()); System.out.println(clazz3.getCanonicalName()); System.out.println(clazz4.getCanonicalName()); } }
so.. 接口、本类也可以通过.class方法获取
2. getClass()方法
代码:
package people; import java.util.Arrays; import java.util.List; import customLoader.FileSystemClassLoader; /** * @author: pyu * @Date: 2021/09/26 */ public class Bootstrap { public static void main(String[] args) { //创建列表 List<Person> Persons = Arrays.asList(new Teacher(),new Student(),new Teacher(),new Person()); for(Person Person:Persons) { if(Person.getClass().equals(Teacher.class)) { //若是Teacher则输出 Person.speak("I am a teacher"); } } } }
I am a teacher I am a teacher
3. forName() 获取
代码:
package people; import customLoader.FileSystemClassLoader; /** * @author: pyu * @Date: 2021/09/26 */ public class Bootstrap { public static void main(String[] args) { String className = "customLoader.Sample"; try { Class<?> clazz1 = Class.forName(className); System.out.println(clazz1.getCanonicalName()); //拿规范化名称 }catch(ClassNotFoundException e) { e.printStackTrace(); } } }
customLoader.Sample
这篇关于【java高级程序设计】核心类(获取类)||自食用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04TiDB 资源管控的对撞测试以及最佳实践架构
- 2024-07-03万字长文聊聊Web3的组成架构
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现