java练习本(2019-08-18)

昨日翻译


昨日翻译

“The best thing about having a sister was that I always had a friend.”

—— Cali Rae Turner

“有个妹妹最好的一件事就是我总是有一个朋友。”

——卡利·雷特纳
今日名言

“A sister is a gift to the heart, a friend to the spirit, a golden thread to the meaning of life.”

—— Isadora James


2019.08.20问题及解析


题目

class A {
   public A fun(){
       return this;
  }
}

class B extends A{
   public A fun(){
       return this;
  }
}

class C extends B{
  ...
}

在...处插入下述代码不会产生错误的是?

A.public void fun(){}

B.public int fun(){return 0;}

C.public A fun(B b){return b;}

D.public A fun(){return A;}
答案与解析
1.相关知识

上期留言中很多小伙伴们都指出了java中方法不能够嵌套方法,是因为我出题的时候不小心多留下了一个方法,这里真诚给大家道个歉,希望大家谅解,大家可以看看不要这个方法的这个版本的题目应该选哪个选项呢

当我们定义方法名相同的方法时通常会存在着重写和重载两种情况,如何正确使用避免错误也是很重要的
2.答案解析

A.方法名相同,参数相同,但返回值不同,且两者之间不存在继承关系,因此无法构成重写,错误

B.方法名相同,参数相同,但返回值不同,且两者之间不存在继承关系,因此无法构成重写,错误

C.方法名相同,参数不同,返回值相同,因此构成了重载父类的fun()方法,正确

D.方法名相同,参数相同,返回值相同,但返回的A没有定义,因此编译错误,错误

答案选C。

如果是按照昨天的题目来看那所有选项都是错误的哦。


2019.08.22问题


题目分类

方法、对象——值传递
题目

public class Test {
   public static void main(String[] args) {
       Test test = new Test();
       test.fun1();
  }

   public void fun1(){
       int i = 2;
       Num num = new Num();
       num.i = 3;
       fun2(num,i);
       System.out.print(num.i);
  }

   public void fun2(Num num, int i){
       i = 0;
       num.i = 4;
       Num num2 = new Num();
       num = num2;
       System.out.print(num.i + " " + i + " ");
  }
}

class Num{
   public int i = 1;
}

上述代码的输出结果是?

A.1 0 1

B.1 0 4

C.4 0 3

D.3 2 3


重磅推荐


在瞬息万变的数字时代

只埋头敲代码显然不足以赶上时代步伐

不妨抬头看看这些大厂的年度技术精华

掌握更多技术选型以及运维开发新思路


猜你喜欢

转载自blog.51cto.com/15082395/2647342
今日推荐