基础

  • Java 语言有哪些特点
  1. 简单易学;

  2. 面向对象(封装,继承,多态);

  3. 平台无关性( Java 虚拟机实现平台无关性);

  4. 可靠性;

  5. 安全性;

  6. 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系 统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程 支持);

  7. 支持网络编程并且很方便

  8. 编译与解释并存;

  • 面向对象和面向过程的区别

    面向过程 :

    优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗 资源;比如单片机、嵌入式开发、Linux/Unix 等一般采用面向过程开发,性能是最重要的因素。

    缺点: 没有面向对象易维护、易复用、易扩展

    面向对象 :

    优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特 性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护

    缺点: 性能比面向过程低

  • 字符型常量和字符串常量的区别

    形式上: 字符常量是单引号引起的一个字符 字符串常量是双引号引起的 若干个字符

    含义上: 字符常量相当于一个整形值( ASCII 值),可以参加表达式,运算字符串常量代表一个地址值(该字符串在内存中存放位置)

    占内存大小:字符常量只占 2 个字节(char 在 Java 中占两个字节), 字符串常量占若干个字节

  • 构造器 Constructor 是否可被 override

    父类的私有属性和构造方法并不能被继承,所以 Constructor 也就不能被 override(重写),但是可以 overload(重载)

  • 重载和重写的区别

     **重载:** 发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序 不同,方法返回值和访问修饰符可以不同,发生在编译时。 **重写:** 发生在父子类中,方法名、参数列表必须相同,返回值范围小于等于父 类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为 private 则子类就不能重写该方法。
    
  • 为什么要使用封装?

    ​ 隐藏对象内部的复杂性,确保数据安全 , 防止误操作,只对外公开简单的接口,便于外界使用

  • java为什么类不支持多继承,接口可以?

    ​ Java中的接口支持多继承(接口与接口之间为继承关系),因为接口不提供具体实现方式,只是一种规范,所以支持;Java的类不支持多继承的原因是Java是强类型语言,多继承会导致调用的不确定性,编译器无法确定要调用哪个类方法,甚至在调用哪个类方法时也无法确定优先级。

  • 接口和抽象类的区别是什么

  1. 接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始 接口方法可以有默认实现),抽象类可以有非抽象的方法
  2. 接口中不能包含变量,所有的变量都是常量,默认为public static final类型的,而抽象类中则不一定
  3. 接口可以多继承,抽象类只能单一集成
  4. 一个类实现接口的话要实现接口的所有方法,而抽象类不一定
  5. 接口是没有构造器的,不能用 new 实例化,但可以声明,但是必须引用一个实现该接口的对象 从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。
  • 成员变量与局部变量的区别有那些
  1. 从语法形式上,看成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数,成员变量可以被 public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及 static 所修饰;但是成员变量和局部变量都能被 final 所修饰;
  2. 从变量在内存中的存储方式来看,成员变量是对象的一部分,而对象存在于堆内存,局部变量存在于栈内存
  3. 从变量在内存中的生存时间上看,成员变量是对象的一部分,它随着对象的创建而存在,而局部变量随着方法的调用而自动消失。
  4. 成员变量如果没有被赋初值,则会自动以类型的默认值而赋值(一种情况例外被 final 修饰的成员变量也必须显示地赋值);而局部变量则不会自动赋值。
  • 对象的相等与指向他们的引用相等,两者有什么不同?

​ 对象的相等,比的是内存中存放的内容是否相等。而引用相等,比较的是他们指向的内存地址是否相等。

  • Java 中的异常处理

​ 在 Java 中,所有的异常都有一个共同的祖先 java.lang 包中的 Throwable 类。

​ Throwable: 有两个重要的子类:Exception(异常) 和 Error(错 误) ,二者都是 Java 异常处理的重要子类,各自都包含大量子类。

Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大 多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟 机)出现的问题。

​ **Exception(异常)

java笔记整理(超详细)相关推荐

  1. JAVA 正则表达式 (超详细,转)

    转 JAVA 正则表达式 (超详细,转) 2015年03月25日 10:27:57 阅读数:1514 在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍 ...

  2. Spring框架学习笔记,超详细!!(4)

    Java小白开始学习Spring框架,一方面,跟着视频学习,并记录下学习笔记,方便以后复习回顾.另一方面,发布学习笔记来约束自己,学习路程还很遥远,继续加油坚持!!!希望能帮助到大家! 另外还有我的牛 ...

  3. Java笔记整理五(Iterator接口,泛型,常见数据结构(栈,队列,数组,链表,红黑树,集合),jdk新特性,异常,多线程,Lambda表达式)

    Java笔记整理五 1.1Iterator接口 Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象 ...

  4. Linux 学习笔记之超详细基础linux命令 Part 3

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 2----------------- ...

  5. JAVA笔记整理(1):进制转换

    JAVA笔记整理(1):进制转换 16.2.28 深圳坪山 多云 18℃ 爱吃螺蛳粉的巴赫 摘要:工具类转化函数:关于进制--2/10/16进制转化(Util_transform_scale)- ps ...

  6. stm32正常运行流程图_STM32单片机学习笔记(超详细整理143个问题,学习必看)...

    原标题:STM32单片机学习笔记(超详细整理143个问题,学习必看) 1.AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速设备 2.Stm32f ...

  7. Android笔记系列--超详细DownloadManager使用,兼容到版本8.0

    超详细DownloadManager使用,兼容到版本8.0 最近用到了软件更新,感觉自己写更新比较麻烦,还要定义通知栏的进度效果,想了一下还是使用系统自带的DownloadManager好了,但这个坑 ...

  8. B站【编程不良人】Redis教程整理学习笔记(超详细拓展)

    Redis 1. NoSQL的引言 NoSQL( Not Only SQL ),意即不仅仅是SQL, 泛指非关系型的数据库.Nosql这个技术门类,早期就有人提出,发展至2009年趋势越发高涨. 2. ...

  9. 爆肝3万5千字的Java学习笔记(超详细的java)

    Java学习 java入门 java三大版本 javaSE:标准版(桌面程序,控制台开发-) javaME:嵌入式开发(手机,小家电-) javaEE:E企业级开发(web端,服务器开发-) Java ...

最新文章

  1. pandas使用fillna函数将dataframe中缺失值替换为空字符串(replace missing value with blank string in dataframe)
  2. 陈述、叙述、表述、描述的区别
  3. Focal Loss 分类问题 pytorch实现代码(简单实现)
  4. Physical Standby Database Failover
  5. Asp.net MVC Linq to SQL Model verification
  6. kotlin数据类_Kotlin数据类
  7. 充电枪cp信号控制板_比亚迪E5无法交流充电故障检修
  8. python---用python实现插入排序
  9. 【转】js中forEach回调同异步问题
  10. 用数字ic产生正弦波的仿真尝试。
  11. 10款精美的web前端源码的特效
  12. 蒸汽管道图纸符号_管道图形符号
  13. 金融行业必看20部电影
  14. xml读取出现中文乱码
  15. PyCharm 字母大小写切换
  16. 收集整理网络协议类型
  17. 如何掌握程序语言(转自王垠Blog)
  18. gpgpu_CPU与GPGPU
  19. SAP中供应商寄售库存返回操作实例
  20. folx是什么软件?Mac上免费的网络下载管理器

热门文章

  1. @Transient
  2. Route map应用策略路由(上)
  3. 关闭VS的实时调试器
  4. 委托专利代理机构申请专利的流程
  5. 监督学习方法与无监督学习方法总结
  6. 行的开始和结束 开始符号:^ 结束符号:$
  7. 已解决selenium.common.exceptions.TimeoutException: Message:
  8. 2022中国沈阳国际幼教产业早教托育装备展览会
  9. MongoDB Capped Collection介绍
  10. 金典《歌手》吴青峰上演催泪杀 淘汰赛正式打响