主要内容
1.static关键字
2.多态
3.抽象
4.接口
5.设计模式
1 | 复习: |
static关键字
static修饰属性称为静态属性,静态属性无序实例化,直接通过类名,属性名的方式调用
static修饰方法称为静态方法,静态方法中只能使用静态属性,静态方法也只能调用静态方法
static修饰的属性和方法称为类属性和类方法,实例化出的所有对象中的值,都是一致的。
static修饰代码块,称为静态代码块,会在类加载时首先执行
1 | static{ |
方法重载
发生在同一个类中,方法名相同,方法的阐述个数和参数类型各不相同
可以发生在普通方法、构造方法和静态方法
多态
同个对象在不同场景的多种形态
Java中多态的前提:必须继承,有子类与父类的关系
多态的表现:父类声明指向子类,调用重写的方法,子类执行,称为向上转型,反之为向下转型(强制类型转换来实现)
多态执行中,属性调用父级,重写的方法调用子级,为重写方法调用父级
1 | public static void main(String[] args) { |
抽象类
抽象方法特点:没有方法体(没有大括号)—不能被执行,只能被重写
抽象类不能被实例化,可以被抽象类或普通类继承,只能实例化普通类
抽象的关键字:abstract
abstract标记在类上表示这个类是抽象类
abstract标记在方法上表示这个方法是抽象方法
抽象方法只能存在于抽象类中,但是抽象类中不是只能存在抽象方法
接口
接口不是类,与类平级
接口使用interface关键字代替class
接口中,只能存在静态常量和抽象方法
接口中的变量默认是公开的静态常量,无需加static和final关键字
接口中的方法不加任何修饰符就表示public修饰符
在jdk1.8中,被default修饰的方法,可以使普通方法,其他都是抽象方法,并且省略abstract关键字
接口不能被实例化,需要被实现(就理解为继承即可),接口可以多实现,一个类可以实现多个接口
接口可以理解为一个只有方法的抽象类
抽象类是属于不属于的概念,接口是有没有的概念
1 | public class Brid implements Fly, Eat { |
设计模式
创建型模式,结构型模式,行为型模式
在软件设计中,被反复使用的一种代码设计经验