第四章 面向对象(上)

来源:互联网 发布:刘涛用什么软件直播 编辑:程序博客网 时间:2024/05/18 01:41

1.名词解释:构造方法、抽象。

构造方法是一个与类名相同的类方法。每当使用new关键字创建一个对象,为新建对象开辟了内存空间之后,Java系统将自动调用构造方法初始化这个新建任务;

抽象是从被研究对象中舍弃个别的、非本质的、或与研究主旨无关的次要特征,而抽取与研究有关的共性内容加以考察,形成对研究问题正确的简明扼要的认识。

2.对象位于内存何处?声明能引用对象的实质是什么?

内存空间分为堆和栈,类和对象被分配到堆中,而方法执行时用的局部变量和形式参数则放到栈空间当中;

声明能引用对象的实质在于:它在栈中保留了堆中对象的实际地址。

3.对象和基本数据类型作为参数传递时,有什么不同?

方法中的参数可以为基本数据类型,也可以为对象,它们有不同的特点。

基本数据类型作为参数在方法中的传递时值传递,对象是引用传递,当对象作为参数传递时,传递的是对象的地址。

4.在自定义对象中写finalize方法,看看什么情况下finalize被调用。

如果在类中重写了finalize方法,进行一些后续处理功能如释放一些资源,则当类的对象被当成垃圾释放掉时,调用这个方法。

5.对象在什么条件成为垃圾?什么情况下释放垃圾对象,如何证明一个对象被释放了?

对象没有任何引用,对象才能成为垃圾;

当成为垃圾时,系统(虚拟机)还并不是主动地释放对象所占用的内存资源,而是在资源不够的情况下才可能进行释放;

垃圾对象的finalize方法被调用。

6.final修饰符都有什么作用?

以final修饰类属性,则该属性为常量;如果修饰方法,则方法称为最终方法,在子类中不能被覆盖。利用这一点可防止子类修改此方法,保证了程序的安全性和正确定。

7.static修饰的属性和方法有什么特点?

它被保存在类的内存区(堆中)的公共存储单元中,而不是保存在某个对象的内存区中;

static修饰的方法称为静态方法,它属于类方法,不属于类的任何对象:

  • static方法是类方法,但可以被所有对象所访问。
  • static方法内部的代码,只能访问类中的static属性或方法;但非static可以访问static属性或方法。
  • main方法是特殊的静态方法。
8.Application程序执行时为什么不能带后缀名?
先编译后执行;



原创粉丝点击