对于下列代码,叙述正确的是哪个?(()classAnimalf int m =100;int get(){return m;}} class Dog extendsAnimal{intm=2:} publicclass E{public static void main(Stringargs[]){Animaldog=new Dog();Systemoutprintf("%d",dogget());}}A.代码有编译错误B运行输出2C.运行输出100D.无编译错误,但发生运行NullPointerException异常
时间: 2024-02-26 19:54:05 浏览: 50
根据给出的代码,叙述正确的是C.运行输出100。
首先,我们知道 `Dog` 类继承了 `Animal` 类,并且 `Animal` 类中定义了一个实例变量 `m`,并且有一个 `get()` 方法返回 `m` 的值。
在 `Dog` 类中,定义了一个实例变量 `m`,并且初始化为 2。但是由于没有重写 `get()` 方法,所以在调用 `dog.get()` 时,会调用父类 `Animal` 类中的 `get()` 方法,返回 `m` 的值为 100。
因此,代码运行输出为 100,选项 C 正确。
阅读全文