Java内部类和匿名内部类的用法说明-创新互联

一、内部类: 

创新互联是一家专注网站建设、网络营销策划、小程序定制开发、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十年以来,已经为上千家成都铜雕雕塑各业的企业公司提供互联网服务。现在,服务的上千家客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。

(1)内部类的同名方法

内部类可以调用外部类的方法,如果内部类有同名方法必须使用"OuterClass.this.MethodName()"格式调用(其中OuterClass与MethodName换成实际外部类名及其方法;this为关键字,表示对外部类的引用);若内部类无同名方法可以直接调用外部类的方法。

但外围类无法直接调用内部类的private方法,外部类同样无法直接调用其它类的private方法。注意:内部类直接使用外部类的方法与该方法的权限与是否static无关,它取决于内部类是否有同名方法。

package innerclass;
public class OuterClass {
 private void outerMethod() {
 System.out.println("It's Method of OuterClass");
 }
 public static void main(String[] args) {
 OuterClass t = new OuterClass();
 OuterClass.Innerclass in = t.new Innerclass();
 in.innerMethod();
 }
 
 class Innerclass {
 public void innerMethod() {
   OuterClass.this.outerMethod();// 内部类成员方法与外部类成员方法同名时,使用this调用外部类的方法
   outerMethod();// 内部类没有同名方法时执行外部类的方法
 }
 private void outerMethod() {
  System.out.println("It's Method of Innerclass");
 }
 }
}

网页名称:Java内部类和匿名内部类的用法说明-创新互联
文章URL:http://scyanting.com/article/espig.html