第一节:抽象类
为什么要使用对象类?
有些类创建对象不具体,需要把这个定义为抽象类
使用abstract修饰类变成抽象类:不能被实例化,但可以被继承。
抽象类的构造方法不能直接使用,只能被子类调用
抽象类“
使用abstract关键字修饰
特点:
1)抽象类中可以包含抽象方法,也可以不包括抽象方法
2)抽象类中有构造方法,但是不能创建对象,
3)抽象类的存在就是为了被继承,子类必须重写父类的抽象方法,除非子类也是抽象类
抽象方法:
使用abstract关键字修饰,只表示声明了一个方法,但是没有任何的实现
特点:
1)没有方法体,使用分号表示方法声明结束
2)如果一个类中有一个方法是抽象的,那么这个类也必须是抽象的
3)抽象方法必须被子类重写,除非子类也是抽象类
抽象类和普通类的区别:
1)抽象类需要abstract,而普通类不需要
2)构造方法都有,但是抽象类不能实例化对象,普通类可以
3)成员方法:抽象类中可以存在抽象方法也可以存在非抽象方法,而普通类中只能存在非抽象方法
final和abstract是否可以连用?
1)final修饰的方法可以被继承不能被重写;abstract修饰的方法必须被重写,所以不能修饰同一个方法
2)final修饰的类不能被继承;abstract修饰的类必须被继承
static:
1)属性:表示类公共的属性,使用类来调用,推荐使用类调用(类名.属性名)
2)方法:表示类公共的方法,在静态方法中只能直接调用静态变量或静态方法,不能使用
this,super,如果想要调用非静态方法和属性,需要创建对象
3)代码块:静态代码块,程序一加载静态代码块就会运行,而且只运行一次
final:
1)属性,局部变量:final表示的为常量&#