码迷,mamicode.com
首页 > 编程语言 > 详细

Java学习笔记之:Java 内部类

时间:2016-10-04 13:47:20      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

一、介绍

 内部类:存在与类中的类就是内部类,一般用于Android开发。
 可以把内部类理解成一种继承关系
 1.普通内部类
 2.局部内部类
 3.静态内部类
 4.匿名内部类

二、笔记

1.普通内部类

/**
 * 普通内部类:声明在类中,方法外的类 
 * 1.内部类可以直接访问外部类的属性和方法 包含私有的
 * 2.外部类不能直接访问内部类的属性和方法,可以通过对象来访问,包含私有的
 * 
 *
 */
public class NormalInnerClass {

    public static void main(String[] args) {
        NormalInnerClass.Son fSon=new NormalInnerClass().new Son();
    }
    private String nameString;

    public void tell() {

    }

    //普通内部类 可以理解为是一个特殊的方法,可以创建对象
    class Son {
        private int  age;
        public void tell() {
            System.err.println(nameString);
        }
    }
}

2.局部内部类

/**
 * 局部内部类:声明在方法中的类,他的作用域只能在声明这个类的方法中
 * 1.局部内部类,可以直接访问外部类的所有方法,包括私有
 * 2.他的作用域只能在声明这个类的方法中,其他的方法不能访问,其他的类也不能访问
 * 3.通过外部内部类来访问局部内部类
 * 4.普通内部类不能有静态方法和静态变量
 *
 */
public class LocalInnerClass {

    private String nameString="admin";
    public void tell() {

        class son{
            public void tell() {
                
            }
        }
    }
}

3.静态内部类

/**
 * 静态内部类:
 * 1.内部类只能直接访问外部类的静态属性和方法。
 * 2.外部类只能通过类名直接访问内部类额静态属性和方法。成员属性和方法需要通过创建对象
 * 3.可以有静态方法 静态变量 实例变量 实例方法
 * 4.其他类可以通过类名直接调用静态属性和方法,通过创建对象访普通方法
 *
 */
public class StaticInnerClass {
   private static String name;
    static class Son{
        private String tr;
        private static int age;
        public void tell()
        {
            System.out.println(name);
        }
        
    }
}

4.匿名内部类

/**
 * 匿名内部类 通过调用
 * 
 *
 */
public class AnonymityInnerClass {
    public static void main(String[] args) {
        Father father = new Father() {
            @Override
            public void menth() {
                // TODO 自动生成的方法存根
                super.menth();
            }
        };
    }
}

class Father {

    public Father() {
        // TODO 自动生成的构造函数存根
    }

    public void menth() {
        System.out.println("1");
    }
}

 

Java学习笔记之:Java 内部类

标签:

原文地址:http://www.cnblogs.com/huguodong/p/5930346.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!