每日筑基-抽象类&&接口

一.先导

子类具有共性的方法抽取到父类中,由于每个子类执行的方法体是不一样的,所以父类抽取的方法不确定方法体,用abstract修饰,就是抽象方法.当一个类中拥有一个抽象方法,该类则被定义为抽象类.

二.抽象类与抽象方法

1.抽象类语法形式:

访问权限修饰符 abstract class 类名{}

2.特点:

1.不能创建实例对象,可以被继承,可以有属性,构造方法(抽象类通过子类实例化)

2.抽象类不一定有抽象方法,有抽象方法的类一定是抽象类

3.抽象方法一定写在抽象类或者接口中

4.抽象类的子类要不重写所有抽象方法,要不本身就是抽象类

3.抽象方法语法形式:

访问权限修饰符 abstract 返回值类型 方法名();

4.类继承抽象类,重写抽象方法

快捷键:alt+shift+回车

**抽象类,抽象方法的最终目的:统一,无法确定方法体,强制让子类按照某种格式书写

三.接口

接口是一种规则,他与抽象类完全不同.抽象类表示一类事物,接口表示一类行为

1.定义:

接口就是特殊的抽象类,即所有方法都是抽象方法的抽象类就是Java中的接口

接口简单理解就是一种约定,接口是设计层面的概念,往往由设计师设计,将定义与实现分离,程序员实现接口,实现具体方法

2.声明形式:

[访问权限修饰符] interface 接口名{

1、[public] [static] [final] 数据类型 变量名;

2、[public] [abstract] 返回值类型 方法(参数列表 );

3、静态方法
4、默认方法

}

3、接口实现类

实现类的声明形式如下:

[访问权限修饰符][修饰符] class 类名 [extends 父类名] [implements 接口列表]{

必须重写接口中的所有抽象方法( ){ }

}

注意:

1.接口和类的实现关系可以单实现,也可以多实现

public class 类名 implements 接口名1,接口名2{}

2.继承类还可以在继承一个类时,实现多个接口

public class 类名 extends 父类 implements 接口名1,接口名2{}

创建父类Animal

package pratice2;

public abstract class Aniamal {
    private String name;
    private int age;

    public Aniamal() {
    }

    public Aniamal(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    public abstract void eat();
}

接口

package pratice2;

public interface SwimIterface {
    abstract void swim();
}

子类

package pratice2;

public class Frog extends Aniamal implements SwimIterface{
    @Override
    public void eat() {
        System.out.println("吃虫子");
    }

    @Override
    public void swim() {
        System.out.println("蛙泳");
    }
}

测试类

package pratice2;

public class Test {
    public static void main(String[] args) {
        Frog f=new Frog();
        f.eat();
        f.swim();
    }
}

4、接口与抽象类的区别

5.接口中成员的特点

1.成员变量:只能是常量,默认用public static final来修饰

2.构造方法没有

3.成员方法:只能是抽象方法.默认用public abstract 来修饰

6.接口继承接口

接口可以继承多个接口

声明形式: [访问权限修饰符] interface 接口名 extends 接口名1,接口名2... {

}

一个类最多只能继承一个类,但是可以实现多个接口,接口可以继承多个接口。

7、接口可实现多继承原因

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值