面向对象:
封装、继承、多态
1、继承:
a) Java中只能实现单继承
b) 但是可以实现多层继承
c) 要符合is a 规则
d) 继承的格式:
Class 子类名 extends 父类名
e) Java中应用在开发,继承的常用格式:
Class 子类名 extends 父类名 implements 接口,接口....
2、this和super关键字:
This:可以调用本类的属性和方法
格式:
This.属性名
This.方法名
This():调用的是本类的构造器
Super:调用父类的属性和方法
格式:
Super.父类属性或者父类方法
Super(参数列表) :调用父类的有参构造
注意事项:
This和super关键都必须写在构造方法中的第一行,否则报错.
3、抽象类
a) 用abstract修饰的类就是抽象类
b) 如果一个普通类中有一个抽象方法,那么当前类一定是抽象类.
c) 抽象是不能实例化的
d) 抽象类是天生作为父类存在
4、final关键字
Final修饰的类不能被继承
Final修饰的方法不能被重写
Final修饰的变量是常量,常量值不能修改.
5、接口就是功能(方法)的集合.
1)定义接口的格式:
权限访问修饰符 interface 接口名{
抽象方法;
}
2)类实现接口的格式:
Class 实现类名 implements 接口名{
抽象方法的具体实现;
例如:
@Override
Public void show(){
具体实现的代码;
}
}
3)接口的特点:
接口不能被实例化
接口中不能定义普通的属性,只能定义常量.
接口可以实现多继承
4)类和接口之间的关系:
A.类和类之间是单继承关系
B.接口和接口之间是多继承关系
C.类和接口之间是实现关系
6、向上溯型(默认转换)
其实就是默认转换(子类对象转成父类对象)
7、向下溯型(强制类型转换)
要想实现向下转型,前提条件必须要先向上转型之后,才能向下溯型.
8、instanceof运算符是用来判断对象类型的.
格式:
对象名 instanceof 类名
实现类名 instanceof 接口名
9、一个对象多种形态
实现多态的三要素:
1)必须要有继承或者实现关系
2)必须要有重写方法
3)父类引用指向子类对象
格式:
父类名 引用名 = new 子类名();
接口名 引用名 = new 实现类名();
练习:
父类Animal
Name age sex
Eat() sleep()
子类Dog
子类重写父类的eat sleep 方法
接口
抽象方法:
描述dog会搜毒.
10、内部类:在一个类中嵌套一个类
1)成员内部类(了解):把一个内部类当成外部类的属性.
格式:
Class 外部类名{
Class 内部类名{
}
}
成员内部类的调用格式:
外部类名.内部类名 对象名 = new 外部类名().new 内部类名();
2)局部内部类(了解):把一个内部类当成外部类方法中的局部变量.
格式:
Class 外部类名{
Public void show(){
Class 内部类名{
}
}
}
局部内部类的调用格式:
1)在外部类的成员方法中创建内部类对象
2)在外部类的成员方法中通过 内部类对象名.内部类方法 可以调 用.
3)匿名内部类(必须掌握)
继承关系的匿名内部类格式:
new 父类名(){
重写方法;
};
实现关系的匿名内部类格式:
new 接口名(){
重写方法
};