转义字符:
符号 | 字符含义 |
---|---|
\n | 换行 (0x0a) |
\r | 回车 (0x0d) |
\f | 换页符(0x0c) |
\b | 退格 (0x08) |
\0 | 空字符 (0x20) |
\s | 字符串 |
\t | 制表符 |
\" | 双引号 |
\' | 单引号 |
\\ | 反斜杠 |
\ddd | 八进制字符 (ddd) |
\uxxxx | 16进制Unicode字符 (xxxx) |
注:Java和C++,C不同,声明和创建数组是不一样的。
输入、输出数据
使用Scanner类,import java.util.Scanner
Scanner reader = new Scanner(Systeml.in);
nextBoolean(),nextByte(),nextshort(),nextInt(),nextLong,nextFloat(),nextDouble()
hasNextdouble等是判断键盘输入的数据,类型是否符合。
创建对象注意点:
避免使用空对象。
什么是空对象呢?
没有实体的对象称作空对象,空对象不能使用,即不能让一个空对象去调用方法产生行为。由于对象可以动态地被分配实体,所以Java编译器对空对象不做检查。
假如程序使用了空对象,程序运行时会出现异常NullPointerException
注:一个类声明两个对象,如果具有相同的引用,二者将具有相同的变量(实体)。
实例方法和类方法
定义:
方法声明时,方法类型前面不加关键字static修饰的是实例方法,加static关键字修饰的是类方法。
区别:调用方法。对象调用实例方法,而类方法既可以通过类名调用也可以通过对象调用。
基本包:
java.lang 包含所有的基本语言类
java.swing 包含抽象窗口工具集的图形,文本,窗口GUI类
java.io 包含所有的输入和输出类
java.util 包含实体类
java.sql 包含操作数据库的类
java.net 包含所有实现网络功能的类
注:如果在子类中想使用被子类隐藏的成员变量和方法就需要关键字super。
final 关键字
1. 可以使用final将类声明为final类。final类不能被继承,即不能有子类。(final类)
2. 如果用final修饰父类的一个方法,那么这个方法不允许子类重写,也就是说,不允许子类隐藏可以继承的final方法,老老实实继承,不许做任何修改。(final方法)
3. 如果成员变量或局部变量被修饰为final,那它就是常量。常量在运行期间不允许再发生变化,程序在声明变量时必须指定该常量的值。
接口(interface)
接口包含接口声明和接口体。接口体又包含常量的声明和抽象方法两种。接口体中只有抽象方法,没有普通方法。常量都是static量(允许省略public,final和static修饰符),所有的抽象方法的访问权限一定都是public(允许省略public abstract修饰符)
类接口的实现
Animal的Dog子类实现Eatable和sleepable
class Dog extends Animal implements Eatable,Sleepable
重现接口中的方法
1.如果一个非抽象类实现了某个接口,那么这个类必须重写这个接口中的所有的方法。(重写方法要去掉abstract)
2.如果一个类声明实现了一个接口,但没有重写接口中的所有方法,那么这个类必须是抽象类,也就是说抽象类既可以重写接口中的方法也可以直接拥有接口中的方法。
接口的细节说明:
1.定义接口,如果加上public关键字,那么这个就是public接口。如果接口不加public修饰,那么是友好接口(同包下的类实现)
2.如果父类实现了某个接口,子类就没必要显式使用关键字implements
3.接口也可以被继承,即可以通过关键字extends声明一个接口是另一个接口的子接口。