JavaSE学习笔记

写在前面

以下内容为个人学习笔记,对JavaSE基础知识的查漏补缺与记录。
学习渠道:B站狂神说java 根据视频学习,随手记录


Java特性和优势

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


Java三大版本

Write Once、 Run Anywhere 说明了 跨平台性 原因:JVM (java的虚拟机)

JavaSE

标准版(桌面查询、控制台开发....)

JavaME

嵌入式开发(手机、小家电....)

JavaEE

企业级开发(Web端,服务器开发.....)


JDK、JRE、JVM

  • JDK:Java Development Kit 开发工具包 JDK 包含 JRE 和 JVM
  • JRE:Java Runtime Environment (运行时环境) 编译器 JRE 包含 JVM
  • JVM: Java Virtual Machine 虚拟机

Java程序运行机制

编译型: 将程序编译完后,可直接用(运行) e.g: 操作系统、c/c++

​ 源程序( *.java文件) ---通过javac命令----Java编译器----编译后----> 字节码 ( .class文件 )

解释型: 网页、服务器脚本等对速度要求不高的程序 边执行边解释 e.g: java、js、脚本语言

​ 字节码( .class文件 )------>到解释器解释 给 程序

注意: Java既具有编译特征,也有解释特征 (先编译,再解释)

Java的数据类型

基本类型(primitive type)

引用类型(reference type)

类 接口 数组


JavaDoc

JavaDoc命令是用来生成自己API文档的

示例: 可写在 类 上, 方法 上

	/**
     * 分页查询 文章列表
     * @author whot
     * @param pageParams
     * @return
     */

参数信息:

  • @author 作者名
  • @version 版本号
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @return 返回值情况
  • @throws 异常抛出情况

使用命令行生成帮助文档

  1. 使用文档注释 /** */

  2. 打开代码所在位置(mac:右键.java文件,点击Reveal in Finder)

  3. 打开命令行,cd到代码所在文件夹,运行:

    javadoc -encoding UTF-8 -charset UTF-8 程序名.java

    -encoding utf-8 -charset utf-8 为了能够显示中文

  4. 生成帮助文档


java内存

内存

  1. 堆: 当然 内存里远不止这些

    存放new的对象和数组

    可以被所有的线程共享,不会存放别的对象引用

  2. k存放基本的变量类型(包含基本类型的具体数值)

    引用对象的变量(存放这个引用在堆里面的具体地址)

  3. 方法区(在堆中)

    可以被所有线程共享

    包含了所有的class和static的变量


面向对象(OOP)

面向对象编程的本质: 以类的方式组织代码,以对象的形式组织(封装)数据

三大特性

  • 封装

    "高内聚,低耦合"

    高内聚 , 就是类的内部数据操作细节自己完成 ,不允许外部干涉

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

    "属性私有,get/set获取"

  • 继承

    关键字:extends 注意,java中类只有单继承,没有多继承 父类中私有的也无法被继承

super注意点:、
1 、 super 调用父类的构造方法 , 必须在构造方法的第一个
2 、 super 必须只能出现在子类的方法或者构造方法中 !
3 、 super 和 this 不能同时调用构造方法 !

this :
代表的对象不同 :
this : 本身调用者这个对象
super : 代表父类对象的应用
前提
this: 没有继承也可以使用
super : 只能在继承条件才可以使用
构造方法
this() ; 本类的构造
super() : 父类的构造 !

  • 多态

即同一方法可以根据发送对象的不同而采用多种不同的行为方式 。

一个对象的实际类型是确定的 , 但可以指向对象的引用的类型有很多

多态存在的条件:
有继承关系
今子类重写父类方法
父类引用指向子类对象

注意 : 多态是方法的多态 , 属性没有多态性 。

instanceof (类型转换)

详细内容借阅:Java关键字(一)——instanceof


Static关键字

关于static修饰的代码块:

posted @ 2021-09-03 17:34  Halumyway  阅读(79)  评论(0)    收藏  举报