3

抽象类(大概的不具体的)
一、抽象与具体区别
抽象方法:修饰符 abstract 返回值类型 方法名(参数列表);
抽象的方法没有方法体{}
具体方法:修饰符 返回值类型 方法名(参数列表){方法体}
1.用abstract关键字修饰
2.格式:abstract class 类名{}
public abstract void eat();
二、抽象类的特点
1.抽象类中不一定有抽象方法(可以有抽象方法也可以有具体方法),有抽象方法的类一定是抽象类
2.抽象类不能实例化,通过多态形式 实现实例化
Animal a=new Dog();
3.抽象类中可以有抽象方法,也可以没有
4.成员特点:
a.成员变量:
可以是变量,也可以是自定义的常量(final)
private final int num=10;
b.构造方法:
不是没有用,用于子类创建对象是访问父类构造方法
c.成员方法:
既可以是抽象方法,也可以是具体方法
5.抽象类的子类:
a.必须是抽象类
b.必须重写抽象类中所有的抽象方法
接口(与class平级)
接口特点:
一、接口特点
1.关键字:interface
2.格式: interface 接口名 {}
public interface Jump {}
二、类实现接口用implements表示
格式:class 类名 implements 接口名 {}
public class JumpCat Jump {}
三、接口不能实例化
那么,接口如何实例化呢?
按照多态的方式,由具体的子类实例化。
要么是抽象类
要么重写口中的所有抽象方法