JAVA---抽象与接口

来源:互联网 发布:日产逍客怎么样知乎 编辑:程序博客网 时间:2024/06/09 17:30

抽象:
关键词: abstract
abstract修饰的类—>抽象类
abstract修饰的方法—>抽象方法

抽象类是不能创建对象的

抽象方法是没有实现部分的
抽象方法会强制子类去重写抽象方法
例子

abstract class Animal{    String name;    int age;    public abstract void cry();}

这个类就是抽象类 里面的方法也是抽象方法
注意: 抽象类里面 可以没有抽象方法
但是抽象方法一定要在抽象类里面

抽象类里面可以有变量也可以有常量
可以有成员方法 也可以有抽象方法
也有构造方法
看一下抽象类的子类

class Dog extends Animal{    public void cry(){    System.out.println("汪汪汪");    }}

我们创建了一个Animal(动物)的子类Dog(狗)
之前Animal(动物)是没有叫的具体形式的
现在我们在子类Dog(狗)中把这个方法重新写了一遍
并且让Dog(狗)有了具体的叫法(汪汪汪)
这里我们不重写子类的方法是不行的
因为抽象类是强制子类重写抽象方法的
abstract与其他关键字

static—static修饰方法 用类名调用 abstract修饰抽象方法没有方法的实现 那只能是方法的声明 不能直接调用

final—final修饰方法 是不能被重写的 abstract修饰方法就是为了重写

private—private修饰方法只能本类访问 子类无法访问 没有重写

接口
用interface关键词修饰

定义接口
interface 接口名{}

特点
1.只能声明抽象方法
2.如果不写public abstract关键词修饰接口中 声明方法
那么系统会帮你默认添加上
3.接口也不能实例化对象(谁要用 谁就去实现接口中的方法)
4.接口的实现 使用implement关键字
本类 implement 要实现接口的类

成员变量:
接口中只有常量
public static final 常量名 = 初值;
当你在接口中声明变量的时候 系统会默认是public static final

成员方法
只有抽象方法 没有成员方法

没有构造方法

类和类之间的关系—->单继承 和 多层继承
类与接口的关系—–>实现(单实现和多实现)
接口与接口的关系—->单继承 和 多继承
我们来写一个接口

interface InterC{    public static final int a = 1;    public abstract void print();}class InterD implements InterC{    public void print(){        System.out.println(a);    }}

这样就实现了InterD与InterC的接口

原创粉丝点击