в чем разница между открытым, защищенным, пакет и частного в java?


publicprotectedprivateclassinterface

в java, есть ли четкие правила о том, когда использовать каждый из модификаторов доступа, а именно по умолчанию (частный пакет), , и , и и, связанные с наследством?