加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 我在采访中绊倒的问题

发布时间:2020-12-15 05:19:29 所属栏目:Java 来源:网络整理
导读:我被问到几个 java面试问题,我不知道如何解决可以使用一些答案 编写一个接受int的方法,这样方法就可以了 public void somemethd(int i){} 现在如果i = 1那么它应该打印为true,如果i = 2,它应该打印为false 但你不能使用任何条件运算符,也不能使用if或switch
我被问到几个 java面试问题,我不知道如何解决可以使用一些答案

>编写一个接受int的方法,这样方法就可以了

public void somemethd(int i){}

现在如果i = 1那么它应该打印为true,如果i = 2,它应该打印为false
但你不能使用任何条件运算符,也不能使用if或switch
>两个线程如何在彼此之间传递数据,比如让我们说你启动2个线程,你想让一个线程让另一个线程等待.
他改写了这个问题,使其更简单,如果我在1个线程中有变量,我想将它发送到另一个线程怎么做.
>如果在基类中存在非静态方法并且在派生类中使其成为静态方法,那么你会得到相同的错误,就像你在base中有一个静态方法一样,你试图在派生类中使它成为非静态方法
>对于不同的方法,除了同名之外的重载有什么用?
(我想我应该说构造函数重载但它只是没有来找我,还有什么)
>语法不正确,但你可以假设一切都很好

class base{

show(){

this.mymethod(); }

mymethod(){ /... } }

class derived extends base{

show(){

super.mymethod();
}

mymethod(){
/...
}
}

现在当我做以下事情时会发生什么

一个.

base b = new derived();

   b.show(); 

derived d= new base();

   d.show();

C.如果基地没有显示方法我做了什么呢?

 base b = new derived();

   b.show(); 

d.如果基地没有显示方法我做了什么呢?

?derived d = new base();

???d.show();

show(){ super.mymethod(); } mymethod(){ /... } }base b = new derived(); b.show();derived d= new base(); d.show();base b = new derived(); b.show();

解决方法

更新的一个解决方案1)

void printIsOne(int n) {
   System.out.println("?,true,false".split(",")[n]);
}

2)您不能在线程之间传递局部变量.但是,您可以将值从一个线程传递到另一个线程并让它等待该值.恕我直言:最简单的方法是使用BlockingQueue.

3)在这两种情况下都会出现不同的错误,但基本上你不能在派生类中将其中一个更改为另一个.

4)落后的可比性.你可能有代码,例如大量测试代码,它使用一组args调用方法,但是您希望以某种方式更改它而不更改现有代码.

5)试试吧(提示:某些组合得到编译器错误)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读