首页 > 编程语言 > 详细

JavaSE

时间:2020-11-15 23:04:33      阅读:40      评论:0      收藏:0      [点我收藏+]

JavaSE

  1. Java特性和优势

    • 简单性、面向对象、可移植性、高性能、分布式、动态性、多线程、安全性、健壮性

    • 相对于c/c++ 去掉了指针,增加了内存管理

  2. Java三大版本

技术分享图片

  1. jdk:java开发者工具、jre:java运行环境、jvm:java虚拟机

    技术分享图片

  2. 编译和解释

    • 编译型 相当于提前将所有内容翻译好,执行速度更快

      • 操作系统 C/C++
    • 解释型 用到哪些就翻译哪些,对速度要求不高

      • 网页
  3. java运行机制

    • 同时具备编译和解释的特征

    • 源程序(tmp.java)->java编译器 ->字节码(tmp.class)

    • 字节码(tmp.class)->解释器 ->操作系统平台

  4. 包机制

    • 一般利用公司域名倒置作为包名
  5. 方法的重载

    • 重载规则:

      • 方法名称必须相同
      • 参数列表必须不同(个数不同,类型不同,参数排列顺序不同)
      • 方法的返回值类型可以相同也可以不相同
      • 仅仅返回类型不同不足以成为方法的重载
    • 重载就是在一个类中,有相同的函数名称,但形参不同的函数

  6. 堆区和栈区

    • 栈区

      • 具有后进先出的特性
      • 由编译器自己主动分配释放
      • 会存放函数的返回地址、参数和局部变量
    • 堆区

      • 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收
      • 是由new分配的内存
  • 通过 new 算符和 malloc 函数分配得到的空间

  • 技术分享图片
  1. 稀疏数组

    • 技术分享图片
  2. 面向对象(object-oriented programming OOP)

    • 本质:以类的方式组织代码,以对象的组织封装数据

    • 抽象类

      • 不能new,只能靠子类实现
      • 抽象方法必须在抽象类中
      • 具有构造方法
    • 三大特性

      • 封装(数据的隐藏):get/set

          1. 程序设计追求“高内聚,低耦合”

            高内聚:内部数据操作细节由自己完成,不允许外界干涉

            低耦合:仅暴露少量的方法给外部使用

          1. 隐藏代码的实现细节
          1. 提高程序的安全性,可维护性
      • 继承:extends

        • java仅支持单继承,不支持多继承--->直接继承一个类,间接继承多个类
        • java所有类默认直接或间接继承Object类
        • super 构造器(构造函数)必须在第一行
            1. 调用父类的构造方法,必须在构造方法的第一行
            2. super只能出现在子类方法或者构造方法中
            3. super和this不能同时调用构造方法
        • 私有无法被继承
      • 多态:

        • 子类能调用的方法都是自己的或者继承父类的
        • 父类可以指向子类,但是不能调用子类独有的方法,除非子类是重写了父类的方法
    • 对象与类

      • 对象是具体的事物,类是对对象的抽象。
    • 类型转换

      • 父类引用子类对象
      • 子类转化为父类,向上转型 可能丢失一些子类的方法
      • 父类转化为子类,向下转型 需要强制转化
  3. 静态方法与非静态方法

    • 静态方法:
      • 和类一起加载
      • 使用:可以通过类名+方法名直接使用
      • 不能被重写
      • 能够调用静态方法,但不能调用非静态方法
    • 非静态方法:
  • 类实例化之后才存在
    • 需要实例化对象,通过对象来调用
    • 可以被重写
    • 能调用静态方法和非静态方法
  1. 方法重写

    • 前提:需要有继承关系,且是子类重写父类的方法
    • 方法名必须相同
    • 参数列表必须相同
    • 修饰符范围可以扩大但不能缩小
    • 抛出的异常范围可以被缩小,但不能扩大
  2. instanceof

    • System.out.println(X instanceof Y);
    • 能编译通过说明X与Y之间存在继承关系
    • 结果为true 说明X与Y类相等或者属于Y类的子类
  3. 静态代码块、匿名代码块、静态导入包

    • 静态代码块 : static {}

    • 匿名代码块 : {}

    • 执行顺序:静态代码块>匿名代码块>构造函数

    • import static java.lang.Math.random; 使用时可以直接使用random()

  4. 接口

    • 约束
    • 定义一些方法,让不同的人实现
    • 接口里的方法: public abstract
    • 接口里的常量: public static final
    • 接口不能被实例化,接口中没有构造方法
    • implements 可以实现多个接口
    • 必须重写接口中的方法
  5. 异常

    try{ //监控区域
    	test(int a, int b);
    }catch(Exception e){ //捕获异常
    
    }finally{ //处理善后工作
    
    }
    
    • 可以有多个catch,异常的范围只能从小到大,不能从大到小
    • e.printStackTrace(); //打印错误信息
    public void test(int a, int b) throws ArithmeticException{
    	//主动抛出异常
    	throw new ArithmeticException();
    }
    

JavaSE

原文:https://www.cnblogs.com/lk0528/p/13978946.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!