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 异常抛出情况
使用命令行生成帮助文档
-
使用文档注释 /** */
-
打开代码所在位置(mac:右键.java文件,点击Reveal in Finder)
-
打开命令行,cd到代码所在文件夹,运行:
javadoc -encoding UTF-8 -charset UTF-8 程序名.java-encoding utf-8 -charset utf-8 为了能够显示中文
-
生成帮助文档
java内存
内存
-
堆: 当然 内存里远不止这些
存放new的对象和数组
可以被所有的线程共享,不会存放别的对象引用
-
栈
k存放基本的变量类型(包含基本类型的具体数值)
引用对象的变量(存放这个引用在堆里面的具体地址)
-
方法区(在堆中)
可以被所有线程共享
包含了所有的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修饰的代码块:

浙公网安备 33010602011771号