JavaSE之面向对象 (3)

11、静态变量存在哪?

静态变量存储在方法区中。(类信息、常量和静态变量都存储在方法区中)

12、讲讲什么是泛型?

泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型);比如:ArrayList<E> E就是泛型,这种不确定的数据类型需要在使用这个类的时候才能够确定出来。

13、解释extends 和super 泛型限定符-上界不存下界不取

上界用extends关键字声明,表示参数化的类型可能是所指定的类型,或者是此类型的子类,add方法受阻,可以从一个数据类型里获取数据;

下界用super关键字声明,表示参数化的类型可能是所指定的类型,或者是此类型的父类型,get方法受阻,可以把对象写入一个数据结构里。

14、是否可以在static环境中访问非static变量?

不可以,因为静态成员属于类,随着类的加载而加载到静态方法区内存,当类加载时,此时不一定有实例创建,没有实例,就不可以访问非静态的成员。

15、谈谈如何通过反射创建对象?

//获取String所对应的Class对象
Class c = String.class;
//获取String类带一个String参数的构造器
Constructor constructor = c.getConstructor(String.class);
//根据构造器创建实例
Object obj = constructor.newInstance("23333");

猜你喜欢

转载自www.cnblogs.com/liumilk/p/10641636.html
今日推荐