错题整理1

在Java程序中,可以使用protected来修饰一个类。 (T)

类及其属性、方法可以同时有一个以上的修饰符来修饰。(T)

构造方法不能被重载。(F)

构造方法没有返回类型,甚至连void也没有。(T)

有两个引用变量t1和t2,如果 t1 == t2为true, 那么t1.equals(t2)也一定为true。(T)

如果一个成员变量被修饰为final的,就是常量,常量必须赋给初值,而且不能再发生变化。(T)

解释:

对于属性的继承, 如果子类与父类重复, 向上转型之后优先使用父类属性, 如果是父类不存在的, 向上转型后无法访问.

对于构造方法的继承, 首先调用父类的构造方法, 再执行方法体.

class A {
  private int i;
  protected int j;
}

class B extends A {
  private int k;
  protected int m;
}

A.

B的对象包含数据域 i, j, k, m。

B.

B的对象包含数据域 j, k, m。

C.

B的对象包含数据域 j, m。

D.

B的对象包含数据域k, m。

访问修饰符的数据区域大小排序 :全局内 public>protected>default>private

/

下面中哪个可以在Test的子类中使用:( )

class Test {
protected int method (int a, int b) { return 0; }

}

A.

int method (int a, int b) { return 0; }

B.

private int method (int a, int b) { return 0; }

C.

private int method (int a, long b) { return 0; }

D.

public short method (int a, int b) { return 0; }

子类重写父类方法时:

1 访问修饰符只能更宽或同等

2形参(参数列表)要相同

3返回类型相同

如下代码的输出是( )。

public class Test {
  public static void main(String[] args) {
    Object o1 = new Object();
    Object o2 = new Object();
    System.out.print((o1 == o2) + " " + (o1.equals(o2)));
  }
}

A.

false false

B.

true true

C.

false true

D.

true false

///

已知类的继承关系如下:

class Employee;

class Manager extends Employee;

class Director extends Employee;
则以下语句哪个能通过编译? ( )。

A.

Employee e = new Manager();

B.

Director d = new Manager();

C.

Director d = new Employee();

D.

Manager m = new Director();

在Animal类和其子类Dog类中均定义了一个名为age的整形变量,则按照多态原理,下列程序中访问的是Dog类中的age变量。

Animal a=new Dog();

System.out.println(a.age);

多态:

调用属性时会向父类索引 父类子类都有有则调用的是父类的属性    父类没有则调用的是子类的属性

调用方法时也是 父类子类都有而且一样的 调用的是父类  子类重写了方法调用的是子类的方法

对于构造方法 在new时候 先调用父类构造方法  不管子类的构造方法是否被super(这个用super调用父类构造器再加子类新属性或者是不加而定义的新构造器不叫重写也不叫重载 就是一个书写子类的通识规范)

但是还是先调用父类构造器(???我要是不用super呢?) 再调用子类的构造器 所以父类构造器如果有语句在用new的时候一定会被执行

抽象类 Java中含有抽象方法的类一定叫抽象类 抽象类中的方法不一定都是抽象方法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值