模拟练习

1.
在这里插入图片描述
1> 结果:编译错误
在这里插入图片描述
2> 解析:在调用子类构造器之前,会先调用父类构造器,当子类构造器中没有使用"super(参数或无参数)"指定调用父类构造器时,是默认调用父类的无参构造器,如果父类中包含有参构造器,却没有无参构造器,则在子类构造器中一定要使用“super(参数)”指定调用父类的有参构造器,不然就会报错。

2.
在这里插入图片描述
1> 结果:编译错误
2> 解析:base.methodB(); //语句错误
编译时不认对象只认引用,Base类型的引用不能调methodB方法

3.
1>结果
1)虚拟机中没有泛型,只有普通类和普通方法(对)
2)所有泛型类的类型参数在编译时都会被擦除(对)
3)创建泛型对象时请指明类型,让编译器尽早的做参数检查(对)
2>解析:编译期间有范型的概念,运行期间没有 //虚拟机–运行期间
List< T >在运行期间会被擦除的只剩下List

4. 经过强制类型转换以后,变量a、b的值分别是?short a = 128; byte b = (byte)a;
1> 结果:a = 128; b = -128;
2> 解析:byte类型范围 -128 —— 127

5. 子类A继承父类B,A a = new A();则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块执行顺序是?
1> 结果:父类B静态代码块 —》子类A静态代码块 —》父类B非静态代码块 —》父类B构造函数 —》子类A非静态代码块 —》子类A构造函数
2> 解析:先静态后非静态最后构造方法

class CleckB{
    CleckB(){
        System.out.println("CleckB的构造函数");
    }
    static{
        System.out.println("CleckB的静态代码块");
    }
    {
        System.out.println("CleckB的非静态静态代码块");
    }
}
 public class Cleck extends  CleckB{
    Cleck(){
        System.out.println("Cleck的构造函数");
    }
    static{
        System.out.println("Cleck的静态代码块");
    }
    {
        System.out.println("Cleck的非静态静态代码块");
    }
    public static void main(String[] args) {
        Cleck cleck = new Cleck();
    }
}

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值