你能创建一个只能由外部类访问的内部类的方法吗?

时间:2017-04-15 19:57:30

标签: java

假设我有一个外类和一个内部类。是否有可能编写一个内部类方法,这样它只能由外部类访问,而不能由外部类外部定义的类访问,例如: var mongoose = require('mongoose'); var Schema = mongoose.Schema; var ObjectId = Schema.ObjectId; var CommentSchema = new Schema({ title : String, body : String, date : Date }); var PostSchema = new Schema({ comments : [CommentSchema] }); module.exports.Comment = mongoose.model('Comment', CommentSchema); module.exports.Post = mongoose.model('Post', PostSchema);

MyForeignClass

1 个答案:

答案 0 :(得分:5)

如果将内部类的方法设为私有,则只能从内部类和外部类访问它们。

class MyOuterClass
{
    class MyInnerClass 
    {
        private void doSomething(){}
    }
}

如果你试图从MyInnerClass或MyOuterClass之类的任何其他类调用上面的方法,你会得到一个错误,因为没有其他类知道该方法的实例来自何处。希望这有助于:)