1.Object类
什么是Object?
Object是所有类的父类
java中所有的类都会直或间接的继承自Object
因为java是单继承机制,如果一个类没有继承其他类,或没有显示继承,会默认继承Object类
2.常用的方法:
1.toString(),可以将对象中的属性内容打印出来
当打印一个对象的引用时候,会调用对象的toString方法,打印的是方法的返回值
当打印对象引用时,默认调用同toString方法,而Object类会打印对象的地址,如果需要打印对象内容,需要重写toString方法
2.与equals()之间的区别
答:equals()方法,可以用于比较对象是否相等
1.:比较的是地址是否相等
2.equals:1.比较的是内容是否相等(需要重写equals方法)
2.如果调用的是Object类中equals方法,比较的是对象地址、
代码:public boolean equals(Object obj) {
return (this == obj);
}
3.JAVA中的面向对象三大特征之一的多态:
多态:一种事务的多种形态|多种表现形式
多态的表现形式:
父类引用(直接父类 | 间接父类)指向子类对象
多态的前提:
1.类之间的继承关系|接口的实现
多态的使用特点:
1.多态引用调用的时候,会调用子类重写的方法,如果没有重写,会调用父类的内容
2.多态使用时,会对子类新增的内容不可见(就是无法调用)
向上转型: 自动类型转换 父类类型->子类类型
注意: 调用的是父类的方法
向下转型:强制类型转换 子类类型->父类类型
父类的引用只能调用父类中有的内容,对子类新增内容不可见
如果使用父类的引用多态形式调用时候,不能够调用子类新增的内容,想要调用,需要向下转型
注意:
ClassCastException 类型转换异常:
当向下转型时候,可能会出现类型转换异常,为防止这中异常出现–>介绍一个运行运算符 instanceof
引用 instanceof 类型 :
判断前面的引用是否是后面类型的对象|是否是后面类型子类的一个对象,如果是返回true,如果不是返回false
抽象类:
什么是抽象类:被abstract修饰的类就是抽象类
抽象的方法:被abstract修饰的方法就是抽象方法
抽象类的定义: 1.没有方法体 2.必须存在抽象类中
注意:
1.抽象方法必须存在抽象类中
2.抽象类中可以存在抽象方法,可以存在具体方法(有方法体的方法)
3.抽象类不能被实例化(创建对象)
4.抽象方法必须被重写
5.抽象类如何使用:
1.具体子类:重写所有父类中的抽象方法+按需新增
2.抽象子类:按需重写父类中的抽象方法+按需新增
6.抽象方法如果一旦被重写,须后可以按需重写
接口:
什么是接口?
给你具体的实现规范的口子
接口:使用interface定义接口,是一个特殊的抽象类
接口的优点:
1.降低耦合度(降低依赖关系)
2.提高代码的复用性
3.接口的多实现,而继承只能单继承
4.接口定义规范
工作中的接口作用:->功能的集合->抽象方法的集合
父类->子类继承父类->子类继承了父类,就有权使用父类中的内容
父接口->实现类->实现类实现一个接口,就拥有了接口中定义的能力
父类:子类可以继承了父类,就可以直接调用期功能等内容
接口:实现接口,实现两个字,对父类中的抽象方法,功能的集合这些功能,要重写这个方法
接口的定义:
jdk1.7及之前接口中只能存在:
1) 公共的静态的常量 public static final
修饰符可以按需省略,默认public static final
2) 公共的抽象的方法 public abstract
修饰符可以按需省略,默认public abstract
特点:
1.接口不能被实例化(因为接口中有抽象方法)
2.类去实现接口 使用implements关键字
3.一个类可以实现多个接口,但是只能继承一个父类
4.如果一个类既实现了多个接口,也继承了父类,需要先继承后实现
5.接口和类之间只能类实现接口
6.接口和接口之间,不能实现只能继承,接口可以多继承接口,就拥有了每一接口中的功能
7.接口的使用
具体的实现类使用:重写所有的抽象方法+按需新增
抽象的实现类:按需重写+按需新增
注意:以后如果能够使用接口,推荐使用接口