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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© bjfanxc 中级黑马   /  2014-3-27 14:18  /  1291 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package com.itheima;

  2. public class Test1 {


  3.         public static void main(String[] args){
  4.                
  5.                 new Outer().method();
  6.                 new Outer().Test();
  7.         }
  8. }

  9. class Outer {
  10.        
  11.         public int num = 5;
  12.        
  13.                 public void method(){
  14.                         //内部类访问局部变量,需要定义为final类型,并且final前不能有修饰符
  15.                         final int x = 10;//x存在于常量池中。
  16.                         class Inner{
  17.                                 public void show(){
  18.                                         System.out.println(Outer.this.num);
  19.                                         System.out.println(x);
  20.                                 }
  21.                         }
  22.                         //外部类访问内部,需要创建内部类对象。
  23.                         Inner in = new Inner();
  24.                         in.show();
  25.                 }
  26.                 //详解:
  27.                 public Object function(){
  28.                         final int y = 20;
  29.                         class Inner{
  30.                                
  31.                                 public String toString(){
  32.                                         return "y=" + y;
  33.                                 }
  34.                         }
  35.                         return new Inner();
  36.                 }
  37.                
  38.                 public void Test(){
  39.                         Object obj = function(); //Object obj = new Inner();父类引用指向子类对象。调用function方法时,返回了一个 Inner对象。
  40.                         System.out.println(obj.toString());
  41.                 }
  42. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马