标签:new 程序员 初始化 类加载 成员方法 类型 子类 学习 线程
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(),调用父类构造方法产生父类对象。
标签:new 程序员 初始化 类加载 成员方法 类型 子类 学习 线程
原文地址:https://www.cnblogs.com/caohua95/p/12123951.html