1、什么是对象?什么是类?类和对象有什么关系?
对象是存在的具体实体,具有明确定义的特征和行为;万物皆为对象,对象由我关注而产生。
类是具有相同属性和行为的一组对象的组合。在软件系统中,我们用类来模拟现实生活中的实体,类是对象的抽象,对象是类的实例。
2、属性和静态变量的区别是什么?
属性是对象的特征,是对象的一部分,不同的对象属性值是不一样的。一个对象属性值的变化不会影响另一个对象。
静态变量是独立在对象之外的变量,是所有对象共享的对象,当它的值发生变化时会影响所有的对象。
属性只能通过对象”.”的方式访问,而静态变量可以通过对象”.”和类名”.”的方式访问,所以静态变量也叫类变量。
3、什么样的对象符合垃圾回收的条件?
没有被变量指向的对象符合垃圾回收的条件。
4、变量按类型分为几种?各有什么特点?
分为基本数据类型和引用数据类型。
基本数据类型存放的是具体的数据,而引用数据类型存放的是对象的地址。基本数据类型有8种(byte、short、int、long、float、double、char、boolean),引用数据类型有3种(类、数组、接口)。
5、变量按作用域分为几种?各有什么特点?
分为局部变量、成员变量和静态变量。
局部变量:方法和语句块内部定义的变量(栈空间),当方法或语句块一结束,局部变量空间马上释放。
成员变量:方法外部、类的内部定义的变量(堆空间,随着对象产生而产生,随对象销毁而销毁)。
类变量:加上关键字“static”(数据段,长驻内存,创建好之后不会消失)。
6、什么是null?对null调用方法和属性有什么后果?
null表示一个引用类型的变量没有指向任何对象。对一个null值的变量调用方法或属性会抛出一个java.lang.NullPointerException异常。
7、什么是包?包有什么作用?
包就是文件夹。通过使用包,可以有效的组织相关的类,还可以在不同的包中存放同名的类。另外还可以做到信息的隐藏,
8、如何在一个包中使用另外包中定义的类?什么样的类无需导入可以直接使用?
如果要使用另外的包定义的类,需要通过import类的全路径(包名+类名)进行导入才能使用。只有本包中的类和java.lang.*中的类无需导入可以直接使用。