A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liuelxiwd 中级黑马   /  2013-5-16 11:45  /  1136 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 liuelxiwd 于 2013-5-16 11:54 编辑

问题描述:
创建一个包含有private的属性和private方法的类。然后创建一个内部类,它有一个方法可用来修改外部类的属性,并调用外部类的方法。在外部类的另一个方法中,创建此内部类的对象,并且调用它的方法.

主要是不明白内部类通过自己的方法修改外部类的属性;还有内部类创建对象的方法跟外部类创建对象的方法一样么?

求助~~~~SOS

4 个回复

倒序浏览
内部类创建对象的方法跟外部类创建对象的方法一样的。
看下代码:
  1. class Test10
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 Outer out = new Outer();
  6.                 out.set();
  7.         }
  8. }

  9. class Outer{
  10.         private int num=10;
  11.         private void outPrint(){
  12.                 System.out.println(num);
  13.         }
  14.         private class Inner
  15.         {        private int num = 9;
  16.                 public void Inprint()
  17.                 {
  18.                         final int num =2;
  19.                         Outer.this.num = 8;      // 内部类通过自己的方法修改外部类的属性   
  20.                         outPrint();
  21.                 }
  22.         }
  23.         public void set(){
  24.                         new Inner().Inprint();  // 创建此内部类的对象,并且调用它的方法.
  25.             
  26.         }
  27. }
复制代码
回复 使用道具 举报
这是基础测试吧。。。
很简单的;
修改属性,外部类名.this。属性;
外部类名.this.方法;
思路就是这样的,好好看看笔记吧。。。
回复 使用道具 举报
刘学明    发表于 2013-5-16 11:50
内部类创建对象的方法跟外部类创建对象的方法一样的。
看下代码:

了然,Thank you~:)
回复 使用道具 举报
Miss小强 发表于 2013-5-16 11:51
这是基础测试吧。。。
很简单的;
修改属性,外部类名.this。属性;

:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马