参考链接:360 |安卓客户端|面经【2 轮技术 + 1 轮 HR 面】(21 届秋招)|2021|
第一题:有哪四种访问控制的类型,它们有什么区别
参考链接:java四种访问控制权限的总结
场景:内部访问、继承关系 、同包、不同包
public: 无限制
protected: 可以类内,可以同包,跨包后可以只能在子类里通过子类对象访问,不能通过父类,其他类也不行
default: 可以类内,子类访问必须同包,不能跨包
private: 只能类内
第二题:“==”和“equals”的区别
1、“==”是运算符,equals是方法;
场景:java基本类型、比较包装类型、比较String类型、比较对象
2、比较的目标
java基本类型:只能“==”,这里比较的是两个变量的值
包装类型:“==”比较的是内存地址,两个不同的对象地址肯定不同,而equals比较的是值
String类型:“==”比较的是内存地址,equals比较的是值
对象:两者都是比较内存地址
总结:除了基本类型比较的是值,其他时候“==”比较的都是内存地址,不是同一个对象那么就是false
第三题:static关键词的作用
参考链接:Java中static关键字的作用
static关键字作用总结
可以修饰:成员变量、成员方法、代码块、内部类。
一个重要的用途是:实现单例设计模式。
特点是: