Java刷题日记 2018-08-01

 

No.1

 1 public class EqualsMethod
 2 {
 3     public static void main(String[] args)
 4     {
 5         Integer n1 = new Integer(47);
 6         Integer n2 = new Integer(47);
 7         System.out.print(n1 == n2);
 8         System.out.print(",");
 9         System.out.println(n1 != n2);
10     }
11 }

输出结果:

false,true
注:使用Integer a = 1;或Integer a = Integer.valueOf(1); 在值介于-128至127直接时,作为基本类型。
使用Integer a = new Integer(1); 时,无论值是多少,都作为对象。
No.2
1 class  Parent{
2         public  float  aFun(float a, float b) { }
3 } 
4 class  Child  extends  Parent{
5
6 }

将以下哪种方法插入行5是不合法的。(    )

A.  float aFun(float  a,  float  b){ }
B.  public int aFun(int a, int b) { }
C.  public float aFun(float  p,  float q){ }
D.  private int aFun(int a,  int  b){ }
答案:A
注:方法重写应遵循“三同一小一大”原则:
“三同”:即方法名相同,形参列表相同,返回值类型相同;
“一小”:子类方法声明抛出的异常比父类方法声明抛出的异常更小或者相等;
“一大”:子类方法的访问修饰符应比父类方法更大或相等。

  

No.3

对于线程局部存储TLS(thread local storage),以下表述正确的是:

 
答案:ABD
注:


面向对象的五大基本原则

单一职责原则(SRP)
开放封闭原则(OCP) 
里氏替换原则(LSP) 
依赖倒置原则(DIP) 
接口隔离原则(ISP)

原文地址:https://www.cnblogs.com/synchronizer/p/9400259.html