RuiCode

  • 首页
  • 归档

  • 搜索
操作系统 并发 排序 网络 源码分析 二分法 面试 不重复算法 指针移动 java 算法 mysql Linux

【面试经】JAVA基础知识(一)-- 语言特性

发表于 2020-02-12 | 分类于 面试经 | 0 | 阅读次数 305
  1. JAVA语言有哪些优点
  • 纯面向对象
  • 平台无关性 虚拟机在不同平台不同实现 程序编译为字节码.class文件 不同平台的虚拟机根据平台特性解释成对应的机器码
  • JAVA提供很多内置类库 例如:对多线程支持Thread、Runnable、Callable, 对网络编程支持, 提供垃圾回收器
  • 提供对Web应用开发支持 例如Applet、Servlet、JSP、Socket
  • 除去C++难以理解的特性 例如头文件、指针、结构、运算符重载、多重继承、虚拟基础类
  1. JAVA和C++异同点
  • JAVA为解释型语言(编译为字节码,JVM解释为机器码),C++为编译型语言(编译、链接生成可执行的二进制代码)
  • JAVA纯面向对象
  • 参考上一条5
  1. 为什么需要 public static void main(String[] args)
    JAVA程序入口,public公共修饰符,static静态修饰符,该类不需要初始化对象就可调用main特殊方法
    还可用final 和 synchronized 来修饰mian

  2. JAVA程序初始化过程
    当实例化对象时,对象所在类的所有成员变量都要初始化,只有成员变量都初始化后,才会调用对象所在类的构造方法创建对象,三个原则,有优先级

  • 静态对象(变量)优先于 非静态对象(变量)初始化。静态对象\变量只初始化一次
  • 父类优先于子类初始化
  • 按照成员变量的定义顺序进行初始化
    程序初始化顺序:
    父类静态变量、父类静态代码块、子类静态变量、子类静态代码块、父类非静态变量、父类非静态代码块、父类构造函数、子类非静态变量、子类非静态代码块、子类构造函数
  1. JAVA作用域
    三类变量:成员变量、静态变量、局部变量
    成员变量和方法修饰符作用域:
修饰符    当前类       同一package   子类   其他package
public      √            √           √         √
private     √            ×           ×         ×
protected   √            √           √         ×
default     √            √           ×         ×
  • 本文作者: RuiCode
  • 本文链接: https://www.ruicode.cn/archives/面试经java基础知识一--语言特性
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 操作系统 # 并发 # 排序 # 网络 # 源码分析 # 二分法 # 面试 # 不重复算法 # 指针移动 # java # 算法 # mysql # Linux
三数之和
【面试经】java基础知识(二)-- 抽象类、内部类、父类、final修饰符
  • 文章目录
  • 站点概览
RuiCode

RuiCode

19 日志
5 分类
13 标签
Creative Commons
© 2021 RuiCode
由 Halo 强力驱动
|
主题 - NexT.Pisces v5.1.4

冀公网安备 13050002001906号