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() 获取
代码:
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方法获取
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
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