当前位置: 首页 > 面试题库 >

面向对象的Java示例考试

张腾
2023-03-14
问题内容
public class Bird
{
  private static int id = 0;
  private String kind;

  public Bird(String requiredKind)
  {
    id = id + 1;
    kind = requiredKind;
  }

  public String toString()
  {
    return "Kind: " + kind + ", Id: " + id + "; ";
  }

  public static void main(String [] args)
  {
    Bird [] birds = new Bird[2];
    birds[0] = new Bird("falcon");
    birds[1] = new Bird("eagle");
    for (int i = 0; i < 2; i++)
    System.out.print(birds[i]);
    System.out.println();
  }
}

这是一个示例考试中的问题,要求输出,正确答案是Kind:falcon,Id:2;种类:鹰,Id:2;

我不明白为什么id是2,两个实例都一样。你能解释一下吗?


问题答案:

由于该id字段是静态的,因此在的所有实例中(以及外部),其值都相同Bird

创建两个Bird对象后,构造函数将被调用两次,因此id将为2

请参阅:了解实例和类成员



 类似资料:
  • 本文向大家介绍Python 面向对象之类class和对象基本用法示例,包括了Python 面向对象之类class和对象基本用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python 面向对象之类class和对象基本用法。分享给大家供大家参考,具体如下: 类(class):定义一件事物的抽象特点,usually,类定义了事物的属性和它可以做到的性为 对象(object):是类的实例

  • 本文向大家介绍Python面向对象程序设计示例小结,包括了Python面向对象程序设计示例小结的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python面向对象程序设计。分享给大家供大家参考,具体如下: 示例1: 运行结果: 2 a value is 123 b value is 321 {'a': 123, 'b': 321} 示例2: 示例3: 运行结果: 这是一个父类 这是一个子类

  • 主要内容:对象的概念,面向对象的三大核心特性面向对象简称 OO(Object Oriented),20 世纪 80 年代以后,有了面向对象分析(OOA)、 面向对象设计(OOD)、面向对象程序设计(OOP)等新的系统开发方式模型的研究。 对 Java 语言来说,一切皆是对象。把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。一个个对象最终组成了完整的程序设计,这些对象可以是独立存在的,也可以是从别的对象继承过来的。对象

  • 本文向大家介绍Python面向对象之类的内置attr属性示例,包括了Python面向对象之类的内置attr属性示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python面向对象之类的内置attr属性。分享给大家供大家参考,具体如下: 这个比较简单。 代码示例: 运行结果: ----> from setattr {'y': 10} ----> from setattr {'y': 10

  • 问题内容: Java具有原始数据类型,这些原始数据类型不是像Ruby中的对象那样派生的。那么我们可以将Java视为100%面向对象的语言吗?另一个问题:Java为什么不设计原始数据类型以对象方式? 问题答案: 当Java首次出现(版本1.x)时,JVM确实非常缓慢。尽管从长远来看,这是一个非常糟糕的决定,但不将基元实现为一流的对象是出于速度目的而采取的一种折衷方案。 “面向对象”对于很多人来说也意

  • 面向对象是一种符合人类思维习惯的编程思想。现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的联系,这种思想就是面向对象。 提到面向对象,自然会想到面向过程,面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一一实现,使用的时候依次调用就可以了。面向对象则是把构成问题的事务按照一定规则划分为多个独立的对象,