【面经】三七互娱Java游戏研发实习(一面)

本文分享了三七互娱Java游戏研发实习面试的一系列问题,涉及王者荣耀服务器实现、接口与类的区别、接口实例化、静态方法与非静态方法的调用、子类重写静态方法、HashMap与LinkedHashMap的工作原理、线程状态、sleep()与wait()的区别以及Java线程池的实现。还探讨了算法,如数组打乱和归并排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、王者荣耀服务器实现

 

二、接口和类的区别?

1、类只能继承一个类,但可以实现多个接口。

2、对于继承性,类继承了父类的方法,子类可以选择是否覆盖父类的方法。

3、接口的方法只有声明,没有实现;而类中的方法必须有方法体。

 

三、接口可以实例化吗?为什么?那lambda表达式不就是传入一个接口的实例吗?

接口不可以实例化,因为接口可以看成是特殊的抽象类,比抽象类的程度更高,其所有方法都是public abstract类型的,因此不能实例化。

Lambda表达式的原理是:

1、编译器根据Lambda表达式生成一个私有的静态函数,这个私有函数就是执行Lambda表达式里的内容

2、生成一个内部类并调用上述所生成的私有静态函数

3、将Lambda表达式替换为该内部类的一个实例传入方法体中

 

所以本质上来讲Lambda表达式并非传入一个接口的实例,而是传入一个内部类的实例。

这里引用一下别人的代码:

public class LambdaTest {
    public static void printString(String s, Print<String> print) {
        print.print(s);
    }
    public static void main(String[] args) {
        printString("test", (x) -> System.out.println(x));
    }
}

@FunctionalInterface
i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值