Java的一些基本术语
1. 反射
获取类本身,就叫“反射”,有以下3种方式:
// 通过“实例”获取类 String str = "hello"; Class cls1 = str.getClass(); // 通过“类型”获取类 Class cls2 = String.class; // 通过“全路径字符串”获取类 Class cls3 = Class.forName("java.lang.String"); cls1.getName(); //"java.lang.String" cls1.getSimpleName(); //"String" cls1.getPackage().getName(); //"java.lang"
2.多态
多态就是声明的类可以是当前类的实例或者它的各种子类实例
class Person { public void say() { System.out.println("Person"); } } class Student extends Person { @Override public void say() { System.out.println("Student"); } } public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Student(); p1.say(); // "Person" p2.say(); // "Student" }
一种声明类可能是多种实例,这有利与Java的扩展性