java面向对象练习题


解析:字符串对象为不变对象,一经创建不可改变。一旦对字符串进行修改操作,会创建新的对象(频繁修改会频繁创建新对象,占用内存)

解析:new出来的对象均存储在堆内存中,当没有引用时由java垃圾回收器不定时回收


答案:B、C、D

解析:因为o指向的对象的属性Y等于i,只要把i指向的对象的x改为100即可,或者让o指向的对象的属性Y赋值为另一个x=100的对象也可以

解析:当应用程序试图在需要对象的地方使用 null 时,抛出该异常。这种情况包括:
- 调用
null对象的实例方法。 - 访问或修改
null对象的字段。 - 将
null作为一个数组,获得其长度。 - 将
null作为一个数组,访问或修改其时间片。 - 将
null作为Throwable值抛出。


解析:子类不能继承父类私有属性和私有方法,不能继承父类构造器

解析:父类变量引用子类对象,父类变量不能强转为子类变量,子类与子类不能转换

解析:构造子类对象时,先去访问父类构造方法

解析:父类型变量引用子类A的对象,该父类变量不可强转为子类B类型

解析:java遵循就近原则


解析:static final修饰的变量为常量,a的值不能再改变了


解析:回调模式是接口或者具有抽象方法的抽象类,采用匿名内部类的形式


解析:多态是父类型变量引用子类型对象(父类new子类)并且调用子类重写的方法

解析:方法method中是x += x,不是this.x += x,所以依照java的就近原则,传进来的参数x是5,那么就按照x就等于5来计算,也就是5+5=10



解析:方法的重载与返回值无关


解析:new出来的对象均有默认初始值,除了String初始值是null

解析:C错在中间应该是分号而不是逗号



答案:A


解析:C中传递的参数是long,不是重写


浙公网安备 33010602011771号