假设我有一个外类和一个内部类。是否有可能编写一个内部类方法,这样它只能由外部类访问,而不能由外部类外部定义的类访问,例如: 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
答案 0 :(得分:5)
如果将内部类的方法设为私有,则只能从内部类和外部类访问它们。
class MyOuterClass
{
class MyInnerClass
{
private void doSomething(){}
}
}
如果你试图从MyInnerClass或MyOuterClass之类的任何其他类调用上面的方法,你会得到一个错误,因为没有其他类知道该方法的实例来自何处。希望这有助于:)