Как использовать метод из другого пакета? - PullRequest
0 голосов
/ 05 января 2019

Мне нужно получить доступ к классам из отдельного пакета из класса, над которым я работаю, однако я не могу заставить его работать. В настоящее время я работаю над ConcreteAccount в пакете PMSModel и мне нужен доступ к методам из классов в Account.Strategies.

Я получаю сообщение об ошибке «Не удается найти символ» при попытке сделать это. У меня есть другой проект, который использует тот же метод, который я пытаюсь использовать, и нет ошибки. Я пытался получить к ним доступ, когда у классов есть конструкторы, а когда нет, но я получаю точно такую ​​же ошибку. У меня есть изображение ошибки ниже:

error being thrown

Ниже приведен код, где я пытаюсь получить доступ к классам из пакета Account.Strategies. Сама ошибка отображается в части «Стратегии» заявления.

package PMSModel;

import Account.Strategies.IAccountStrategy;

public class ConcreteAccount extends Account {

@Override
public IAccountStrategy selectStrategy(String accountType){
    IAccountStrategy strategy;

    switch(accountType){
        case "Patient":
            strategy = new Account.Strategies.PatientStrategy();
            break;
        case "Secretary":
            strategy = new Account.Strategies.SecretaryStrategy();
            break;
    }
    return strategy;
}
}

Ниже приведен скриншот того, как мои пакеты и классы связаны друг с другом:

project file area

Я ожидаю, что «стратегия» сохранит класс, чтобы я мог получить доступ к методам этого конкретного класса в учетной записи.

1 Ответ

0 голосов
/ 05 января 2019

Во-первых, передовые практики для именования пакетов должны быть написаны строчными буквами. Во-вторых, проблема, с которой вы сталкиваетесь, заключается в том, что у вас нет корневого пакета, который должен использоваться вашим проектом, например:

com.example.projectname

Это должен быть ваш root, и при этом запускаются другие пакеты

com.example.projectname.account.strategies
com.example.projectname.controller
com.example.projectname.guiview
com.example.projectname.pmsmodel
com.example.projectname.resources

К вашему сведению, я согласен с тем, что JB Nizet напечатало вас.

ЛИТЕРАТУРА

Соглашения Java Code -> https://www.oracle.com/technetwork/java/codeconventions-150003.pdf

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...