1.继承
1.面向对象编程的特点,父亲有的,儿子就有。java是单继承,c++是多继承。
将共同点提取出来,就形成了父类、基类、超类。Parent class、Base class\Super class.
其他类就成了子类,派生类
Child class、 Derived class.
2.子类会继承父类的所有方法,可以直接使用。子类继承父类的所有属性,但是不能访问private成员,可以通过接口进行访问。
3.JAVA类默认继承java.lang.object类
4.Object类中就有clone,equals,finalize,getClass,hashCode,toString。
5.子类构造函数的第一句都说super()。
抽象类
1.一个主方法,类可以没有方法,但是有方法了就必须实现。
2.一个完整的类可以背实例化,可以new出来。
3.如果有没有实现的,需要将该类定义为抽象类。
4.抽象类也可以被继承,
5.子类继承了抽象类的话,必须实现所有的abstract类,不然也得定义为abstract类
接口
1.接口interface,不是类
2.类可以extends一个类,但是可以implements多个接口
3.如果要实现接口就必须就必须实现所有未实现的方法,如果没有的话,就是抽象类。
4.接口也可以定义变量。
接口和抽象类总结
1.都不能实例化,就是不能new()出来
2.接口所有方法都不能实现,但是抽象类可以有
3.类可以继承一个抽象类,可以实现多个接口
4.接口可以继承多个接口
类转型
1.有继承关系的类可以相互转化
子类可以转换成父类,但是父类不能转换成子类。向上转型
一种特殊的情况
Human obj1 = new Man();
Man obj2 = (Man) obj1;
多态
子类继承父类的所有方法,子类可以定义一个和父类名字,参数相同的方法,这就是重写(重载),子类的方法的优先级高于父类的了就。
static
1.static 静态的
2.可以作用在
变量、方法、类、匿名方法块
3.可以直接访问类名中的变量
4.静态方法只能使用静态变量,不能使用非静态变量!
5.静态方法禁止引用非静态方法!
6.static块只能执行一次
final
1.类,方法,字段
2.final类不能被继承,final方法不能被改写,final的变量不能修改值
public static final
package
1.第一句话给出包的名称,其下面的类必须放在包里
2.包名尽量唯一
3.域名是唯一的,经常用域名做包名
import
1.使用import关键字来进入别的包
2.import 放在包后面
3.*表示进入该目录下面的使用类,不包含子目录下的类
java类库文档(api)
1.java.lang.* 编程语言的基本类库
2.java.math.* 整数算数和十进制算数的基本函数
3.java.net.* 实现网络通讯的类
4.java.rmi. 远程方法调用
5.java.sql. 用于访问和处理来自java标准数据库的类
6…text.* 自然语言方式处理文本,日期,数字,消息的类和接口
6. . time.* 日期和时间
7. util 集合类和时间处理方式等工具包
字符串
-可变字符串
1.StringBuffer和StringBuileder
2.StringBuffer 字符串加减同步 性能好
Builder不同步,性能更好
格式化
java.text.Format的子类
数字格式化 NumberFormat 抽象类
字符串格式化 MessageFormat
时间日期格式化 DateFormat 抽象类
java.time.format包下的类