博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java应该注意的各种区别
阅读量:6367 次
发布时间:2019-06-23

本文共 1186 字,大约阅读时间需要 3 分钟。

学习不是一件看起来很容易的事,对于厌烦背课文的人来说,“区别”的具体区别就是烦恼!!!

因为会做不代表会表述。那么,我这里写的就是我的烦恼

1、 switch和if的区别:

  switch只能判断等值的情况

  if判断范围和等值的情况

2、while和do..while的区别:

  while:先判断条件,再根据条件是否为真来执行代码块。

  do..while:先执行一次代码块,再判断条件。不管条件是否为真,都会至少执行一次。

3、基本数据类型和引用数据类型数据在传参时区别:

  1)基本数据类型,操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值。

  2)引用数据类型(类、数组和接口),赋值是把原对象的引用(可理解为内存地址)传递给另一个引用。

4、方法重写和方法重载的区别:

  1)方法重载在同一个类中,方法重写是子类重写父类(不同类中)

  2)方法重载方法名相同,参数类型和个数不同

     方法重写方法名与父类相同,参数类型和个数与父类相同

  3)方法重载与返回类型和访问修饰符无关

       方法重写:返回类型与父类的相同或是其子类;访问修饰符不能严于父类

5、抽象类和接口的区别:

不同点:

  1)关键字:抽象类是使用abstract来修饰类的,接口是使用interface来修饰的。

  2)在抽象类里可以有抽象方法和普通方法,接口中只能有抽象方法

  3)在抽象类里可以有静态属性和非静态属性,接口中只能有静态的常量属性。

  4)抽象类只能单继承,接口可以多实现(接口可以继承接口,多个接口之间使用逗号分隔)。

相同点:

  1)都不能实例化。

  2)接口是一个特殊的抽象类。

6、ArrayList和LinkedList的区别:

1)查询效率:

  ArrayList因为底层是数组,有下标索引,所以可以快速定位索引位置,查询效率快。

  LinkedList因为使用的是链表方式,没有下标索引,所以查询数据需要遍历整个链表,效率相对于ArrayList低。

2)插入、删除数据:

  ArrayList数组进行插入和删除时需要改变数据的位置

  LinkedList使用链表,只需要改变前一个和后一个指向的元素地址。

7、sleep()与yield()的区别:

  1)sleep()使当前线程处于被阻塞状态

    yield()使当前线程转入暂停执行的状态

  2)sleep()即使没有其它等待运行的线程,当前线程也会等待指定的时间

    yield()如果没有其它等待执行的线程,当前线程会马上回复执行

  3)sleep()其它等待执行的线程的机会是均等的

    yield()会将优先级相同或更高的线程运行

 

转载于:https://www.cnblogs.com/lijm/p/6020887.html

你可能感兴趣的文章
leetcode378. Kth Smallest Element in a Sorted Matrix
查看>>
Noark入门之极速体验
查看>>
JS每日一题:Vue-router有哪些钩子?使用场景?
查看>>
ggit (git gui) --- 开发记录 (一)
查看>>
109. Convert Sorted List to Binary Search Tree
查看>>
带你了解TCP/IP协议族
查看>>
从零开始的无人驾驶 2
查看>>
Ajax同步和异步的区别
查看>>
C++中new的三种使用方法说明
查看>>
localStorage应用(写的时间缓存在本地浏览器)
查看>>
Javascript编码规范
查看>>
laravel-admin 使用记录(2) - 快速搭建 CURD
查看>>
自定义SpringBoot项目的Maven原型
查看>>
solidity不支持动态扩容
查看>>
5.java String对象
查看>>
基于 less,sass,stylus三种预处理rem
查看>>
微信棋牌游戏域名防封最新解决方案
查看>>
第十八天-企业应用架构模式-基本模式
查看>>
Promise加载图片用法详解
查看>>
《CSS设计指南》读书笔记
查看>>