1、==和equals的区别
==:是基本数据类型时是判断数据值是否相等,是引用类型时,是判断引用类指向的地址是否相等,是否为同一个对象。
equals:是父类Object中提供的一个equals方法,用于指定俩个对象是否相等的比较规则。Objcet中的equals默认是比较俩个对象的地址是否相同。
2、重载和重写的区别
①方法的重载和重写都是实现多态的方式,区别在于重载实现的是编译的多态性,而重写是实现的是运行时的多态性。
②重载都发生在一个类中,重写发生在子类与父类之间。
③重载可以有不同的返回类型,重写返回类型必须与被重写方法相同。
④重载可以有不同的访问修饰符,重写访问修饰符的限制一定要大于等于被重写方法的访问修饰符
3、面向对象的三大特性
①封装:是指一个类把自己内部的实现细节进行隐藏,只暴露对外的接口
②继承:是指在一个现有类(父类)的基础上构建新的子类,子类可以拥有父类的成员变量以及成员方法,继承能提高代码的复用性
③多态:是指多种状态,当一个操作在不同的对象时,会产生不同的结果
4、jvm内存模型
由java虚拟机规范定义,描述的是Java程序过程中,由JVM管理的不同数据区域。各个区域都有特定的功能。
JVM内存分为:方法区,栈,堆,常量池。
5、接口和抽象类的区别
①抽象类可以有构造方法但不能被实例化,接口的所有方法都必须是抽象的且没有构造方法
②抽象类中可以包含静态方法,接口中不能包含静态方法
③一个类可以有多个接口,但只能继承一个抽象类
④抽象类中可以有成员变量,接口中没有成员变量
6、extends和implements的实际使用场景和区别
①extends:只能继承一个类,可以用父类的方法也可以重写父类的方法
②implements:实现一个或者多个接口,接口的方法都是抽象的,使用implements类需要实现接口的方法除了抽象类
使用场景:
继承:如果多个类或某个功能相同,就可以抽象出一个基类,把该功能提到基类中继承基类。
实现:如果多个类处理目标是一样的,但实现细节不一样,就可以定义一个接或和一个标准,其他类来实现这个接口
7、怎么理解关键字static,final
static:①意思是静态修饰符,一般用来修饰类中的成员,
②在java里面可用修饰属性和方法,定义类时,类中会有相应的属性和方法,
③被static修饰的成员可以通过类名的直接访问
final:①意味着不可变的,一般用于数据、方法和类。
②一般final方法的目的就是防止子类对该类方法的覆盖或修改
③final的目的就是说明不打算用任何类继承该类,也不希望该类有子类
8、值传递和引用传递的区别
值传递:在调用方法时将实际参数复制一份到方法中,在方法中对参数进行修改且不会影响实际参数
引用传递:在调用方法时将实际参数的地址直接传送到方法中,在方法中对参数进行修改会影响到实际参数
==和equals的区别、重载和重写的区别、面向对象的三大特性、jvm内存模型、接口和抽象类的区别、extends和implements的实际使用场景和区别、怎么理解关键字static,final、
最新推荐文章于 2025-02-08 10:54:36 发布
本文概述了Java编程中的关键概念,包括基本数据类型的==与equals的区别,重载和重写在多态中的应用,面向对象的三大特性(封装、继承、多态),JVM内存模型,接口与抽象类的差异,以及static和final的含义。还讨论了值传递和引用传递的原理。
摘要由CSDN通过智能技术生成