Java基础学习笔记

Java 基础知识

01. 面向对象和面向过程的区别?

面向过程

优点:性能高,面向对象中的类调用需要实例化,资源消耗比较大。

缺点:难维护、难复用、难扩展

面向对象

优点:由于面向对象有封装、多态、继承的特性,系统更易维护、更易复用、更易扩展;且耦合度比面向过程

缺点:性能相比于面向过程低。

02.什么是封装、继承、多态?

封装:就是将一个对象的属性私有化,使其无法直接从外部访问到,只能通过提供的供外界访问的方法访问到。

继承:在已有类的基础上建立新类,可以在保留父类功能的同时扩展新的功能和方法。

tips:

1、子类拥有父类非private的方法和属性;

2、子类可以用自己的方式实现父类的方法;

3、子类不能选择性的继承父类;

多态:即程序中定义的引用变量所指向的具体类型和引用变量调用的方法在编程时并不确定,而是在程序运行期间才确定。也即是说引用变量到底指向哪个类的实例变量或方法,只有在程序运行时才能确定。(继承父类并重写方法和实现接口并实现接口中的抽象方法都可以实现多态)

03. 抽象类和接口的区别有哪些?

1、接口中的所有方法必须是抽象方法,抽象类不一定;

2、接口中的成员变量类型必须是static final修饰的,抽象类不一定。(即接口中只能有常量、抽象类中可以有变量)

3、抽象类本质还是class,所以只能单继承。但接口可以多实现。

tips:开发时,基类选接口,如果要有方法实现或成员变量就选抽象类。

04. java中的重载和重写

重载(overload):一个类中有多个同名方法,但他们的参数列表各不相同;

tips:1、构成重载的条件有参数个数不同、参数类型不同、参数顺序不同;

2、返回值不同不可以构成重载、因为java中不需要强制接收返回值(int a = a() or 直接a()都是允许的)。

重写(overrwrite):也称覆盖、即子类覆盖父类的同名方法。

05. JDK,JRE 和 JVM 的联系和区别:

JDK: java开发工具包、java开发环境的核心组件。提供编译、调试和运行一个java程序的所需工具。

JRE:java运行环境、是JVM的实现,提供运行java程序的平台。JRE包含JVM,但不包含编译和调试之类的开发工具。

JVM:java虚拟机、当运行java程序时,需要将编译所得的字节码(.class文件)转为特定机器代码。JVM提供内存管理、垃圾回收和安全机制等。

JDK用于开发、JRE用于运行java程序、JDK、JRE都包含JVM。JVM是java的核心、是保证其平台无关性的根本所在。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值