此篇同样为笔记篇
1.instanceof运算符
该运算符用于操作对象实例,检查该对象是否时一个特定类型(类类型或接口类型)
(Object reference variable) instanceof (class/interface type)
2.break 关键字:跳出最里层的循环,并且继续执行该循环下面的语句
continue 关键字:让程序立刻跳转到下一次循环的迭代
在for循环中,continue语句使得程序立即跳转到更新语句
3.switch case语句 判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
Math类 包含用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数
Math 方法都被定义为static形式,通过Math类可以在主函数中直接调用
Character类 用于对单个字符进行操作,在对象中包装一个基本类型char的值
4.String类时不可改变的
如果需要对字符串做很多修改,应该使用StringBuffer&StringBuilder类
使用StringBuffer类时,每次都会对StringBuffer对象本身进行操作,而不是生成新的对象
相较于StringBuffrt,StringBuilder有速度优势,多数情况下建议使用StringBuilder类
字符串连接concat()方法都被定义为static形式,通过Math类可以在主函数中直接调用
5.SimpleDateFormat是一个以语言环境敏感方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间
格式来运行
6.方法的命名规则
1.方法名字的第一个单词应以小写字母作为开头,后面的字母用大写字母开头,不使用连接符
2.下划线可能出现在JUnit测试方法名称中用以分隔名称的逻辑组件
Scanner类:获取用户的输入
Scanner类的next()和nextLine()方法获取输入的字符串
读取前 需要使用hasNext和hasNextLine判断是否还有输入的数据
一个try代码块后面跟随多个catch代码块的情况就叫多重捕获
finally关键字用来创建在try代码块后面执行的代码块
无论是否发生异常,finally代码块中的代码总会被执行
7.多态的优点
1.消除类型之间的偶合关系 2.可替换性 3.可扩充性 4. 接口性 5.灵活性 6.简化性
多态存在的三个必要条件:(继承,重写,父类引用指向子类对象)
当子类对象调用重写的方法时,调用的是子类的方法,而不是父类中被重写的方法
要想调用父类中被重写的方法,必须使用关键字super
抽象类不能实例化,所以抽象类必须被继承,才能被使用
抽象类表示的是一种继承关系,一个类只能继承一个抽象类,一个类可以试下多个接口
Abstract 关键字用来声明抽象方法,抽象方法包含一个方法名,没有方法体
抽象方法没有定义,方法名后面直接跟一个分号,而不是花括号
抽象类中不一定包含抽象方法,但是有抽象方法的类一定是抽象类
任何子类必须重写父类的抽象方法,或者声明自身为抽象类
抽象类中的抽象方法只是声明,不包含方法体
构造方法,类方法(用static修饰的方法)不能声明为抽象方法
抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类
继承抽象方法的子类必须重写该方法。否则,该子类也必须声明为抽象类
结果:必须有子类实现该抽象方法,否则,从最初的父类到最终的子类都不能用来实例化对象
8.接口:
一个接口可以有多个方法
接口文件保存在.java结尾的文件中,接口字节码文件保存在.class结尾的文件中
接口不能用于实例化对象
接口中没有构造方法
接口中所有的方法必须是抽象方法
接口不能包含成员变量,除了static和final变量
接口不是被类继承了,而是要被类实现
接口支持多继承
jdk1.8以后,接口里可以有静态方法和方法体了
接口声明:语法格式
[可见度] interface 接口名称 [extends 其他的接口名]{
//声明变量
//抽象方法
}
接口以及接口里的方法声明,都不需要abstract关键字
接口中的方法是公有的
…implements 接口名称[,其他接口名称,其他接口名称…,…]…
一个类可以同时实现多个接口
一个类只能继承一个类,但是能实现多个接口
一个接口可以继承另一个接口:接口继承使用extends关键字
9.包
java.lang 打包基础的类
java.io 包含输入输出功能的函数