首页 > 编程语言 > 详细

JAVA编程思想学习笔记4-chap10-12-斗之气4段

时间:2019-02-16 15:29:54      阅读:139      评论:0      收藏:0      [点我收藏+]

1.内部类:Iterator

2..this生成对外部类的引用

3..new:通过外部类对象创建内部类对象

package com.chengjie;

public class TestInnerClass {
    class Inner {
        String str() {
            return "Inner!";
        }
    }

    public Inner getInner() {
        return new Inner();
    }

    public static void main(String[] args) {
        TestInnerClass tic = new TestInnerClass();
        TestInnerClass.Inner inner = tic.getInner();
        System.out.println(inner.str());
        inner = tic.new Inner();
        System.out.println(inner.str());
    }
}

4.通过内部类返回其接口类型时,可以实现内部的完全隐藏

interface  Base { }

public class TestInnerClass {
    class Inner implements Base{
        String str() {
            return "Inner!";
        }
    }
    public Base getInner() {
        return new Inner();
    }
}

5.通过匿名内部类实现工厂模式

package com.chengjie;

interface Service {
    void method1();
    void method2();
}

interface ServiceFactory {
    Service getService();
}

class ServiceImpl1 implements Service {
    private ServiceImpl1() {}

    @Override
    public void method1() {
        System.out.println("implment1:method1()!");
    }

    @Override
    public void method2() {
        System.out.println("implment1:method2()!");
    }

    public static ServiceFactory sf = new ServiceFactory() {
        @Override
        public Service getService() {
            return new ServiceImpl1();
        }
    };
}

public class TestFactory {
    public static void consume(ServiceFactory sf) {
        Service s = sf.getService();
        s.method1();
        s.method2();
    }

    public static void main(String[] args) {
        consume(ServiceImpl1.sf);
    }
}

6.内部类特点:每个内部类可以独立继承一个接口的实现,无论外围类继承与否--有效补充了多重继承

7.内部类不是is-a,而是独立的实体

JAVA编程思想学习笔记4-chap10-12-斗之气4段

原文:https://www.cnblogs.com/forTheDream1991/p/10387760.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!