Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。下面是小编收集的Java笔试常考知识点,希望大家认真阅读!
1.获得Class对象的三种方式
// 1. 根据给定的类名来获得 用于类加载
String classname = "cn.itcast.reflect.Person";// 来自配置文件
Class clazz = Class.forNameclassname;// 此对象代表Person.class
// 2. 如果拿到了对象,不知道是什么类型 用于获得对象的类型
Object obj = new Person;
Class clazz1 = obj.getClass;// 获得对象具体的类型
// 3. 如果是明确地获得某个类的Class对象 主要用于传参
Class clazz2 = Person.class;
引深一下Java创建对象的几种方式:
1 用new语句创建对象,这是最常见的创建对象的方法。
2 运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance实例方法。
3 调用对象的clone方法。
4 运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject方法。
1和2都会明确的显式的调用构造函数 ;3是在内存上对已有对象的影印,所以不会调用构造函数 ;4是从文件中还原类的对象,也不会调用构造函数。
2.Java变量合法性
$ 、字母、下划线开头都行,后面的可以是数字、字母、下划线;不能以数字开头。不含有Java关键字
3.修饰符互斥
abstract不可以用static,native或synchronized修饰
其中native是声明本地方法,交给操作系统去实现,JNI调用时候使用。
4.静态变量,Main函数引用
Main函数中可以直接使用static类变量,不能直接使用非静态变量,使用非静态变量要首先new对象后,才能使用
不能在静态方法中调用非静态的方法或者变量已经存在的东西不能引用还不存在的东西;非静态方法可以直接调用静态变量并且给它赋值,但不可以在非静态方法中定义静态变量;
5.修饰符访问权限本类,本包,子类,外部
1public:可以被所有其他类所访问。all
2private:只能被自己访问和修改。本类
3protected:自身,子类及同一个包中类可以访问。 本类,本包,子类
4default默认:同一包中的类可以访问,声明时没有加修饰符,认为是friendly。 本类,本包
6.Java继承中的构造方法
1子类的构造过程中必须调用其基类的构造方法。
2子类可以在自己的’构造方法中使用superargument_list调用基类的构造方法。
2.1、使用thisargument_list调用本类的另外构造方法。
2.2、如果调用super,必须写在子类构造方法的第一行。
3如果子类的构造方法中没有显示的调用基类的构造方法,则系统默认调用基类的无参数构造方法。
4如果子类构造方法中既没有显示调用基类构造方法,而基类又没有无参数的构造方法,则编译出错。