Java笔试常考知识点

1.获得Class对象的三种方式

// 1. 根据给定的类名来获得  用于类加载

String classname = "cn.itcast.reflect.Person";// 来自配置文件

Class clazz = Class.forName(classname);// 此对象代表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不可以用staticnativesynchronized修饰

其中native是声明本地方法,交给操作系统去实现,JNI调用时候使用。


4.静态变量,Main函数引用

Main函数中可以直接使用static类变量,不能直接使用非静态变量,使用非静态变量要首先new对象后,才能使用

不能在静态方法中调用非静态的方法或者变量(已经存在的东西不能引用还不存在的东西);非静态方法可以直接调用静态变量并且给它赋值,但不可以在非静态方法中定义静态变量;


5.Java运算符优先级

优先级

运算符

1

() []

2

! +(正号(负号~ ++ ––

3

* / %

4

+(加号) (减号)

5

<< >> >>>

6

< <= > >= instanceof

7

== !=

8

&

9

^

10

|

11

&&

12

||

13

?:(三元表达式)

14

= += = *= /= %= &= |= ^= ~= <<= >>= >>>=


6.修饰符访问权限(本类,本包,子类,外部)

(1)public:可以被所有其他类所访问。(all)

(2)private:只能被自己访问和修改。本类

(3)protected:自身,子类及同一个包中类可以访问。 本类,本包,子类

(4)default(默认):同一包中的类可以访问,声明时没有加修饰符,认为是friendly。 本类,本包


7.Java继承中的构造方法

(1)子类的构造过程中必须调用其基类的构造方法。

(2)子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法。

    2.1、使用this(argument_list)调用本类的另外构造方法。

    2.2、如果调用super,必须写在子类构造方法的第一行。

(3)如果子类的构造方法中没有显示的调用基类的构造方法,则系统默认调用基类的无参数构造方法。

(4)如果子类构造方法中既没有显示调用基类构造方法,而基类又没有无参数的构造方法,则编译出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值