java接口

Java接口(以角色创建项目为例)

1.接口定义类

·接口不是类,而是希望符合这个接口的类满足的需求(类比为图纸)
·接口命名格式public interface XxxService—表示定义了一个依赖于Xxx类的接口
·接口主体格式:返回值类型+方法名+(参数);
注意:
(1)接口中所有方法自动是public方法,所以声明方法时不必强调public关键字
(2)接口绝不会是实例字段,不需要提供方法体,即无括号

package service;

import model.Role;
import java.util.ArrayList;

//接口定义类
public interface RoleService {//定义了一个依赖于Role类的接口
    //接口命名格式XxxService,以Service结尾的名称代表接口

    //接口的定义只需要了解方法的返回值类型、方法参数、方法的功能(在方法名中体现)

    //接口不是类,是对希望符合这个接口的类的一组需求
    //接口中所有方法自动是public方法,所以声明方法时不必强调public关键字
    //接口绝不会是实例字段,提供实例字段和方法实现的任务由实现接口的类完成(如Role类)
    //主体格式:返回值类型+方法名+(参数);(接口中所有方法自动是public方法)默认不需要方法体(即不需要大括号)

    //添加角色
    void addRole(Role role);
    //获取所有的角色
    ArrayList<Role> getRoles();
}

2. 接口实现类

·接口实现类—具体编写接口中的功能,本质也是类(class)
·接口实现类申明格式:public + class + XxxServiceImpl + implements + XxxService + {功能代码块}
·必须要添加接口定义的方法,且方法签名(方法名、返回值类型、参数)应该完全一致
·接口定义的方法都是public,所以实现类的方法修饰符应该是public

package Implement;

import model.Role;
import service.RoleService;
import java.util.ArrayList;

//接口实现类——具体编写接口中的功能,本质也是类(class)
//接口实现类申明格式:public + class + XxxServiceImpl + implements + XxxService + {功能代码块}
public class RoleServiceImpl implements RoleService {//表示实现RoleService接口

    //必须要添加接口定义的方法,且方法签名应该完全一致
    //接口定义的方法都是public,所以实现类的方法修饰符应该是public

    //角色数据库,相当于储存角色的功能
    private static ArrayList<Role> ROLES = new ArrayList<>();

    //将角色添加入角色数据库
    public void addRole(Role role) { ROLES.add( role ); }

    //获取所有的角色,故返回数据库
    public ArrayList<Role> getRoles() { return ROLES; }
}

3.接口实例化

·接口实例化目的是调用接口中的方法
·通常在test类中进行接口实例化

package test;

import Implement.RoleServiceImpl;
import model.Role;
import service.RoleService;
import java.util.ArrayList;

public class RoleServiceTest {
    public static void main(String[] args) {

        //接口实例化,目的是调用接口中的方法
        //实例化名称一般是将接口名称的第一个大写字母改为小写
        RoleService roleService = new RoleServiceImpl();//RoleServiceImpl()本质也是构造函数

        Role role1 = new Role();
        role1.setName( "admin" );
        role1.setDesc( "系统管理员" );
        roleService.addRole( role1 );//调用addRole方法,在roleService中添加角色

        Role role2 = new Role();
        role2.setName( "design" );
        role2.setDesc( "设计师" );
        roleService.addRole( role2 );

        Role role3 = new Role();
        role3.setName( "dev" );
        role3.setDesc( "开发者" );
        roleService.addRole( role3 );

        ArrayList<Role> roles = roleService.getRoles();
        Role aimRole = roles.get( roles.size()-1 );
        System.out.println(aimRole.getName()+" : "+aimRole.getDesc());

    }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值