基础
1.Java里Int占用几个字节?取值范围是多少?
答:Java中int占4个字节,也就是32位。int的取值范围就是 [10000000 00000000 00000000 00000000 , 01111111 11111111 11111111 11111111],是补码,正数的补码和原码一样,负数的原码是补码的所有非符号位取反+1,int是有符号整数,第一位是符号位。所以最大值+2^31-1,最小值-2^31-1+1=-2^31。
2.什么场景下会用接口,或者使用接口的意义是什么?
答:
1.多态性实现:接口允许Java等面向对象编程语言实现多态性。一个类可以实现多个接口,这意味着它可以有多种形态或行为。
2.解耦:通过接口,可以定义一组方法而不实现它们,这允许我们编写灵活且松耦合的代码。具体实现可以在不影响使用接口的客户端代码的情况下更改。
3.规范制定:接口定义了一组规则或契约,所有实现该接口的类都必须遵守这些规则。这有助于确保所有实现了特定接口的类都有共同的方法和行为。
3.Integer i1=100,i2=100,i3=200,i4=200 请问i1==i2 ? i3==i4?
答:true,false。由源码我们可以看到Integer的范围是“-128~127”,当i在这个范围内是从IntegerCache中直接获取,当超越这个范围才会new 一个新的Integer对象出来。
4.父类 obj = new 子类() obj的类型是父类还是子类呢?obj.method是父类的方法还是子类的?
答:子类。obj 是父类的引用,指向了一个子类对象。子类没有重写的父类中的方法obj 会调用父类中没有被重写的方法,当被重写时会调用子类中的方法。父类 obj = new 子类 可以,子类 obj = new 父类不可以!猫黑猫的关系!
答:Java中int占4个字节,也就是32位。int的取值范围就是 [10000000 00000000 00000000 00000000 , 01111111 11111111 11111111 11111111],是补码,正数的补码和原码一样,负数的原码是补码的所有非符号位取反+1,int是有符号整数,第一位是符号位。所以最大值+2^31-1,最小值-2^31-1+1=-2^31。
2.什么场景下会用接口,或者使用接口的意义是什么?
答:
1.多态性实现:接口允许Java等面向对象编程语言实现多态性。一个类可以实现多个接口,这意味着它可以有多种形态或行为。
2.解耦:通过接口,可以定义一组方法而不实现它们,这允许我们编写灵活且松耦合的代码。具体实现可以在不影响使用接口的客户端代码的情况下更改。
3.规范制定:接口定义了一组规则或契约,所有实现该接口的类都必须遵守这些规则。这有助于确保所有实现了特定接口的类都有共同的方法和行为。
3.Integer i1=100,i2=100,i3=200,i4=200 请问i1==i2 ? i3==i4?
答:true,false。由源码我们可以看到Integer的范围是“-128~127”,当i在这个范围内是从IntegerCache中直接获取,当超越这个范围才会new 一个新的Integer对象出来。
4.父类 obj = new 子类() obj的类型是父类还是子类呢?obj.method是父类的方法还是子类的?
答:子类。obj 是父类的引用,指向了一个子类对象。子类没有重写的父类中的方法obj 会调用父类中没有被重写的方法,当被重写时会调用子类中的方法。父类 obj = new 子类 可以,子类 obj = new 父类不可以!猫黑猫的关系!
全部评论
相关推荐
11-14 15:03
西安电子科技大学 C++ 点赞 评论 收藏
分享