Java学习笔记总结第一篇,主要内容有:
1、关于类的基本问题概述
2、关于接口的基本问题概述
3、访问权限控制简述
4、包的命名规范
5、异常捕获与处理简述
6、JFC简述
一、关于类的基本问题概述
- 子类不能访问超类的私有数据成员和方法
- 在子类属性与超类属性同名的情况下,子类使用"super."访问从超类继承的属性
- 静态成员是不被继承的,但是静态成员可以被所有的子类访问
- 静态成员是属于类的,而不属于任何一个对象,不会有多个副本,仅存在于唯一的内存空间
- 子类在覆写超类的方法时,覆写后的方法的访问权限不能比超类更严格
- 子类必须覆盖超类中的抽象方法,否则子类自身也将称为抽象类
- 超类中声明为final的终结方法不能被覆盖
- 超类中声明为static的静态方法不能被覆盖
- 比较运算符“==”和equals()方法都是判断两个对象是否同一,如果需要判断两个对象是否相等需要重写equals()方法
- final声明的类为终结类,不能产生子类;final声明的方法是终结方法,可以被继承但不能被覆盖
- abstract声明的类为抽象类,抽象类可包含常规类所能包含的任何成员方法
- 抽象类还可以包含抽象方法,在包含抽象方法时该抽象方法只有方法原型,而没有方法的具体实现
- 抽象类不能实例化,只能用作超类
二、关于接口的基本问题概述
- 在参数"Type"后面使用"extends"关键字并加上类名或者接口,表明参数所代表的类型必须是该类的子类或者实现了该接口
- 对于实现了某种接口的有限制泛型,也是使用extends关键字,而不是implements关键字
- 类的继承表达的是一种从属关系,类的组合表达的是一种包含关系
- 接口中可以规定方法原型(方法名、参数列表、返回值类型),但不规定方法主体
- 接口中也可以包含基本数据类型的数据成员,但它们都默认为static和final
- 接口只有类的设计,没有类的实现
- 用interface声明接口,用implements关键字是实现接口
- 接口的数据成员一定要有初值,且此值不能再更改,可以省略final关键字
- 接口中的方法必须是抽象方法(不能有方法体),可以省略public、abstract、final关键字
- 接口与接口之间可以多继承,实现一个接口的类也必须实现其超接口
三、访问权限控制简述
1、访问权限控制符的作用:
- 设置访问许可
- 避免干扰外界
2、控制符的种类与访问权限:
- public:公有类型,对外公开
- protected:受保护类型,只对子类和同一个包中的类公开
- default:默认类型,没有修饰符,只对同一个包中的类公开
- private:私有类型,只有该类本身可以访问
3、控制符具体使用:
- 类权限:只有public和default两种
- 成员权限:上述四种都具有
4、控制符在类与方法中的混合使用:
序号 | 成员权限/类权限 | public | default |
---|---|---|---|
1 | public | 所有类 | 包中类(含当前类) |
2 | protected | 包中类(含当前类)、子类 | 包中类(含当前类) |
3 | default | 包中类(含当前类) | 包中类(含当前类) |
4 | private | 当前类本身 | 当前类本身 |
四、包的命名规范
1、个人项目命名:
- 单人项目onem(one-man):指的是个人发起但非自己独自完成的项目。包名为“onem.发起者名.项目名.模块名…”
- 个人项目pers(personal):指的是个人发起,独自完成的项目。包名为:“pers.个人名.项目名.模块名…”
- 私有项目priv(private):指的是个人发起,非公开的私人使用的项目,包名为“priv.个人名.项目名.模块名…”
2、团体项目命名:
- 团队项目:由团队发起并由该团队开发的项目,包名为“team.团队名.项目名.模块名…”
- 公司项目:由公司发起并由该公司开发的项目,包名为“公司域名反写.项目名.模块名…”
3、命名格式及其它常识:
- 包命名要求包含的所有字符均小写,不能含有特殊字符
- 包可以有多层,每层用符号“.”隔开
- 包就是指向类或接口的一条路径,利用包的路径可以访问任意包
- 定义类的时候如果没有包,那么Java将把定义的类保存在默认包里
- 对包编译之后,包中的类和接口产生字节码文件(.class)目录是“项目空间目录/项目名/bin/包名”
五、异常捕获与处理简述
1、Java程序的三种错误类型:
- 语法错误
- 运行错误:指的是程序在运行过程中出现的错误,例如出现了除数为0的情况
- 逻辑错误:程序正常运行后没有得到预期结果
2、Java异常处理机制的作用:
- 预防错误造成的不可预期结果
- 恢复异常发生前的状态,以保证程序不会崩溃
- 增加程序的灵活性、可靠性、可维护性
- 减少编程共工作量
3、Java的异常类:
- Error类:包含Java系统或者运行环境中发生的异常,这些异常是用户无法捕捉到的异常。例如CPU运行错误等
- Exception类:包含了一般性异常,如数组下标越界异常、类型转换异常、除数为0、SQL异常等,用户可以捕捉到这些异常,然后利用try/catch/finally进行处理
4、Exception异常类的两种异常类型:
- 运行时异常:都是RuntimeException类的子类,是非检查异常,当程序中可能出现这类异常时,即使没有用try/catch/finally或者throws处理,编译也检测不出
- 编译时异常:Exception类中除了RuntimeException类之外其他的类,编译能检查到,需要用try/catch/finally语句捕获它,或者用throws抛出它,否则不能通过编译检查。(强制处理)
六、JFC简述
JFC是Java提供的标准类库,是系统提供的已实现的标准类的集合,是Java编程的API。Java类库根据不同功能分成若干个包。
- java.lang :Java的核心类库
- java.io: Java的标准输入、输出类库
- java.util :Java的使用工具类库
- java.lang.reflect :提供类和接口用来获取关于类和对象的反射信息
- java.net :实现网络功能的类库
- java.awt :构建图形用户界面(GUI)的类库
- java.awt.event: 图像用户界面的事件处理包
- java.sql :提供访问并存储在数据库中数据的类和接口
- java.swing :构建图形用户界面类库(轻量级)