1, 什么是对象? 什么是类? 对象和类的关系是什么?
对象是存在的具体实体, 具有明确定义的特征和行为.
类是具有相同属性和行为的一组对象的集合.
类是对象的抽象, 对象是类的实例.
2, 变量按作用域划分有哪几种?
变量按作用域划分, 分为局部变量, 成员变量, 静态变量.
局部变量: 方法和语句块内部定义的变量 (栈空间, 当方法或语句块一结束, 局部变量空间马上释放)
成员变量 (属性): 方法外部, 类的内部定义的变量 (堆空间, 随对象产生而产生, 随对象销毁而销毁)
类变量 (静态变量): 方法外部, 类的内部定义的变量, 加上了关键字 "static"(数据段, 长驻内存, 虚拟机关闭时消失.)
3, 静态变量和成员变量有什么区别?
1, 作用范围: 成员变量包含在对象之中, 每个对象有独立的成员变量. 当一个对象成员变量变化时, 不会影响别的对象. 静态变量是所有对象共享的变量, 当静态变量变化时, 会影响所有对象.
2, 产生时间: 静态变量在类加载时产生, 产生在对象之前. 成员变量在产生对象时产生, 随对象销毁而销毁.
3, 存放位子: 静态变量存放在数据段中, 成员变量存放在堆中.
4, 访问方式: 静态变量可以通过对象和类名访问, 成员变量只能通过对象访问.
4, 什么是 GC?
GC 称为垃圾回收. 是虚拟机中的线程. 在虚拟机相对空闲时, 回收堆空间中, 没有被变量引用, 同时没有被使用的对象. 程序员不能干预垃圾回收, 但可以通过 System.gc() 加快垃圾回收速度.
5, 什么是包? 包的作用是什么? 如何导入别的包中的类? 什么样的类不需要导入?
包就是文件夹, 使用包可以组织相关的类, 并可以做到信息隐藏.
导入别的包中的类使用 import
本包中的类, java.lang 包中的类无需导入可以直接使用.
6, 静态方法能直接调用成员方法或属性吗? 为什么?
不能. 因为静态方法在对象产生之前加载.
7, 当传递和返回对象, 传递和返回的是什么?
对象的引用.
8, 什么是构造方法? 构造方法的作用是什么?
方法名和类名相同, 没有返回类型. 利用构造方法可以产生对象.
作用:
1, 为对象分配空间
2, 如果类没有加载, 则加载类.
3, 初始化成员变量
4, 返回对象的引用
9, 创建对象有几种方式?
1, 通过 new 关键字, 调用构造方法产生对象.
2, 通过反射产生对象.
3, 通过克隆产生对象.
4, 通过反序列化产生对象.
10,this 和 super 各代表什么含义?
this 表示当前对象. 而 super 表示父类对象. 子类可以通过 super(), 调用父类构造方法产生父类对象.
来源: http://www.bubuko.com/infodetail-3359156.html