java – 是否可以只在同一个包和子包中访问接口?

前端之家收集整理的这篇文章主要介绍了java – 是否可以只在同一个包和子包中访问接口?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以只在同一个包和子包中访问接口?

我已经使用默认修饰符定义了一个接口:

package com.mycompany.myapp.dao;

import java.io.Serializable;

interface BaseDao<T,Id extends Serializable> {
    public void create(T t);    
    public T readById(Id id);   
    public void update(T t);    
    public void delete(T t);
}

现在我有一个子包,我想定义一个实现BaseDao的类.所以我写了这段代码

package com.mycompany.myapp.dao.jpa;

import java.io.Serializable;

public class BaseDaoJpa<T,Id extends Serializable> implements BaseDao<T,Id> {
...
}

但我得到这个错误

BaseDao cannot be resolved to a type

那么这是Java对接口的限制,还是我做错了?

谢谢

解决方法

在Java中,没有“子包”这样的东西.不要被点缀所欺骗. com.mycompany.myapp.dao和com.mycompany.myapp.dao.jpa是两个独立的包,它们彼此无关.

所以回答你的问题:不,不可能只为子包提供界面.您可以将您的界面公开,但随后它将对所有其他包可见.

猜你在找的Java相关文章