Java基础知识
定义
- Java是一种可以撰写跨平台应用程序的面向对象的强类型程序设计语言。
java 三种包
- JavaSE: 标准版(桌面程序,控制台开发)
- JavaME: 嵌入式开发(手机,小家电)
- JavaEE: E企业级开发(web端,服务器开发)
JDK 、JRE 、JVM
- JDK:Java development kit 开发工具包
- JRE:Java Runtime Enviroment 编译器
- JVM:Java Virtual Machine 虚拟机
安装JDK
- 一般都装JDK8
- 安装方法:传送门
编译和运行
- 先写好 Main.java
- 编译 javac Main.java 会生成一个class文件
- 运行 java Main
- java 是编译型和解释型混合的,集成开发环境我是用IDEA
编译型语言与解释型语言
- 概念:计算机不能直接的理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言的编写的程序。翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。
- 解释性语言是指它常用的执行机制是使用一个“解释器”来执行,解释器对于程序是一句一句“翻译”成机器语言来一句一句执行
- 编译型语言是指它常用的执行机制是使用一个“编译器”来编译成机器语言,然后你就可以直接运行(执行)这个编译成的“可执行文件”。
IDEA的一些文件
- iml文件
- .idea文件夹:存放项目的配置信息,包括历史记录,版本控制信息等。
java 关键字
- String 不是关键字,是类
强制类型转化
- 顺着箭头方向可以直接转化,逆着箭头方向精度会缺失
- 运算中,不同类型的数据先转化为同一类型,然后进行运算
变量的命名规则
- 局部变量:首字母小写和驼峰原则 lastName
- 常量:大写字母和下划线 MAX_VALUE
- 类名:首字母大写和驼峰原则 Man, GoodMan
- 方法名:首字母小写和驼峰原则 run(),runRun()
包机制
-
包其实就是文件夹,为了更好的组织类,用于区别类名的命名空间,一般利用公司域名倒置作为包名 com.baidu.www
-
包语句的的语法格式为:
package pkg1[. pkg2[. ... ] ] ;
-
package ... 必须放在第一行
-
使用包成员,值需用import即可
import package1[. package2...].(classname|*) ;
java 注释
- 单行注释
- 多行注释
- 文档注释:可以生成文档,供阅读者快速阅读观看
/**
* @author xxh
* @version 1.8
* @since 1.0
* @param args
*/
方法的重载
- 定义:在一个类中,有相同的函数名称,但形参不同的函数
重载的规则:
- 方法名必须相同
- 参数列表必须不同
- 方法的返回类型可以相同也可以不同
- 仅仅返回类型不同不足以成为方法的重载
构造器
- 就是构造函数 要求:1.和类名相同 2. 没有返回值
- 作用:1. new本质就是在调用构造方法 2. 初始化对象的值
- alt+insert 能快速写 构造函数
高内聚低耦合
- 高内聚低耦合,是软件工程中的概念,是判断软件设计好坏的标准,主要用于程序的面向对象的设计,主要看类的内聚性是否高,耦合度是否低。
- 目的是使程序模块的可重用性、移植性大大增强。
- 高内聚:类的内部数据操作自己完成,不允许外部干涉
- 低耦合:仅暴露少量的方法给外部使用
面向对象编程
- OOP: Object Oriented Programming
- 面向对象三大基本特征:封装、继承、多态
封装
- 封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。
- 好处1:提高程序的安全性,保护数据
- 好处2:隐藏代码的实现细节
- 好处3:统一接口
继承
- 继承(extends):继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。
- 题外话:Java中所有的类都直接或者间接的继承Object类
- 好处1:复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。
重写
- 重写(@Override):需要有继承关系,子类重写父类的方法
规则:
- 方法名必须相同
- 参数列表必须相同
- 修饰符范围可以扩大,但不能缩小:public>protected>default>private
- 抛出的异常范围可以缩小但不能被扩大
为什么需要重写:父类的功能:子类不一定需要,或者不一定满足
多态
- 多态:同一个东西表现出多种状态,在面向对象的描述中就是同一个函数接口,实现多种不同的表现方式。多态是方法的多态,属性没有多态
多态存在的条件:
- 有继承关系
- 子类重写父类的方法
- 父类引用指向子类对象 Father f1= new Son()
多态的作用
- 不必编写每一子类的功能调用,可以直接把不同子类当父类看,屏蔽子类间的差异,提高代码的通用率/复用率
- 父类引用可以调用不同子类的功能,提高了代码的扩充性和可维护性
接口
- 接口的本质是契约,是约束,是规范
- 类可以实现接口 例如: 类 implements 接口
异常
- Java异常(exception)是Java提供的一种识别及响应错误的一致性机制。
异常处理的五个关键字:try,catch,finally,throw,throws
- try:监控区域
- catch:捕获异常
- finally:处理善后工作