|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。
在Java中,当天生一个外部类的对象时,此对象与打造它的内部类经由过程内部类的.this坚持着接洽,因而该外部类对象能够会见其内部类对象的一切成员,包含private成员。
而该外部类对象关于其他类的对象的会见,依照惯例的会见权限语法,这一点也没有甚么出格撑持。这里必要切磋的是,内部类和其他类的对象能够怎样会见到某个外部类对象,即外部类的可见性成绩。
上面是一个示例程序Out.java,个中包括了4个分歧会见权限的外部类(private,default,protected,public),在每一个外部类中,分离包括4个分歧会见权限的成员与办法。在内部类Out中供应了失掉外部类实例的办法。
Out.java
packagecom.zj.main;
publicclassOut{
publicPrivateIngetPrivateIn(){
returnnewPrivateIn();
}
publicDefaultIngetDefaultIn(){
returnnewDefaultIn();
}
publicProtectedIngetProtectedIn(){
returnnewProtectedIn();
}
publicPublicIngetPublicIn(){
returnnewPublicIn();
}
privateclassPrivateInimplementsInMethod{
privateintprivate_arg;
intdefault_arg;
protectedintprotected_arg;
publicintpublic_arg;
privatevoidprivate_method(){};
voiddefault_method(){};
protectedvoidprotected_method(){};
publicvoidpublic_method(){};
}
classDefaultInimplementsInMethod{
privateintprivate_arg;
intdefault_arg;
protectedintprotected_arg;
publicintpublic_arg;
privatevoidprivate_method(){};
voiddefault_method(){};
protectedvoidprotected_method(){};
publicvoidpublic_method(){};
}
protectedclassProtectedInimplementsInMethod{
privateintprivate_arg;
intdefault_arg;
protectedintprotected_arg;
publicintpublic_arg;
privatevoidprivate_method(){};
voiddefault_method(){};
protectedvoidprotected_method(){};
publicvoidpublic_method(){};
}
publicclassPublicInimplementsInMethod{
privateintprivate_arg;
intdefault_arg;
protectedintprotected_arg;
publicintpublic_arg;
privatevoidprivate_method(){};
voiddefault_method(){};
protectedvoidprotected_method(){};
publicvoidpublic_method(){};
}
publicstaticvoidmain(String[]args){
//createanouterobject
Outout=newOut();
//createaprivateinnerobjectbynew
Out.PrivateInprivateIn=out.newPrivateIn();
privateIn.private_arg=0;
privateIn.private_method();
//createaprivateinnerobject byoutsmethod
Out.PrivateInprivateIn2=out.getPrivateIn();
privateIn2.private_arg=0;
privateIn2.private_method();
}
}
<p>
在ruby里才是一切皆对象。当然我不并不是很了解ruby,但是ruby确实是将语法简化得很好。 |
|