10.20学习基础面试题

default(默认,什么都不写):在同一个包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法

private:在同一类内可见。使用方法:变量、方法。 不能修饰类(外部类)

public:对所有类可见。使用对象:类、接口、变量、方法

protected:对同一包内的类和所有子类可见。使用对象:变量、方法 不能修饰类(外部类)

 

final:用于修饰变量、方法和类。

final变量:被修饰的变量不可变

fianl方法:被修饰的方法不允许任何子类重写,子类可以使用该方法

final类:被修饰的类不能被修饰,所有方法不能被重写。

 

static关键字:表明一个成员变量或者是成员方法可以在没有属性的类的实例变量的情况下访问。

重载和重写的区别?

都是实现多态的方式,区别在于前者实现的是编译时的多态,后者实现的是运行时的多态。

重写:发生在子类与父类之间,重写方法返回值和形参都不能改变;即外壳不变,核心重写。

重载:在一个类里面,方法名字相同,而参数不同。

 

抽象类和接口的区别?

抽象类可以提供成员方法的实现细节,而接口只能存在public abstract方法;

抽象类的成员可以是各种类型的,而接口中的成员变量只能是 public static fianl 类型的;

接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;

一个类只能继承一个抽象类,而一个类可以实现多个接口。

 

Java创建对象有哪几种方式?

提供四种创建对象的方式:

new创建新对象;

通过反射机制;

采用clone机制;

通过序列化机制;

 

介绍下hashCode()?

hashCode()的作用是获取哈希码,也称为散列码;返回的是一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。

散列表存储的是键值对(key-value),它的特点是:能根据“键”快速的检索出对应的“值”。这其中就利用到了散列码!

 

 

posted @ 2021-10-20 11:42  清钦  阅读(46)  评论(0)    收藏  举报