Java之嵌套接口和嵌套类了解和简单实例

原创 2016年12月25日 21:54:12

开心一笑

【刚在路上遇到一只狗,我蹲下来问它:我2017年的运势,它慎重考虑了下说:旺旺旺,这下我就放心了……】

视频教程

大家好,我录制的视频《Java之优雅编程之道》已经在CSDN学院发布了,有兴趣的同学可以购买观看,相信大家一定会收获到很多知识的。谢谢大家的支持……

视频地址:http://edu.csdn.net/lecturer/994

提出问题

java中的嵌套接口和嵌套类???

解决问题

唯美图片

接口嵌套接口
/**
 * 花(接口嵌套接口)
 */
interface Flower{
//接口默认是abstract的的
//public abstract interface Flower{
    /**
     * 心脏
     */
    interface FlowerHeart{
        //接口中定义的变量默认是public static final 型,且必须给其初值
        public static final int age  = 99;

    }
    //嵌套接口默认是public,下面写法也可以
    //public interface FlowerHeart{}


    //嵌套接口默认是public,不能是private,下面写法错误
    //private interface FlowerHeart{}


}
接口嵌套类
/**
 * 花(接口嵌套类)
 */
interface Flower{
    /**
     * 花的心脏
     */
    class FlowerHeart{

    }
}
类嵌套接口
/**
 * 花(类嵌套接口)
 */
class Flower{
    /**
     * 花的根须
     */
    interface Roots{

    }
}
类嵌套类
/**
 * 花(类嵌套接口)
 */
class Flower{
    /**
     * 花的根须
     */
    class Roots{

    }
}
thinking in java例子
class A {
    private interface D {
        void f();
    }
    private class DImp implements D {
        public void f() {}
    }
    public class DImp2 implements D {
        public void f() {}
    }
    public D getD() { return new DImp2(); }
    private D dRef;
    public void receiveD(D d) {
        dRef = d;
        dRef.f();
    }
}

public class NestingInterfaces {
    public static void main(String[] args) {
        A a = new A();
        //The type A.D is not visible
        //D是A的私有接口,不能在外部被访问
        //! A.D ad = a.getD();
        //Cannot convert from A.D to A.DImp2
        //不能从A.D转型成A.DImpl2
        //! A.DImp2 di2 = a.getD();
        //The type A.D is not visible
        //D是A的私有接口,不能在外部被访问,更不能调用其方法
        //! a.getD().f();        
        A a2 = new A();
        a2.receiveD(a.getD());
    }
}
嵌套静态类
class StaticClassTest {
    //私有 static 成员变量
    private static String mylove = "ay & al";
    //私有成员变量
    private String id = "100424060";
    static class Person{
        private String address = "厦门";
        public String mail = "ay@163.com";//内部类公有成员
        public void display(){
            System.out.println(id);//不能直接访问外部类的非静态成员
            System.out.println(mylove);//只能直接访问外部类的静态成员
            System.out.println("Inner "+address);//访问本内部类成员。
        }
    }

    public void test(){
        Person person = new Person();
        person.display();
        //System.out.println(mail);//不可访问
        //System.out.println(address);//不可访问
        System.out.println(person.address);//可以访问内部类的私有成员
        System.out.println(person.mail);//可以访问内部类的公有成员
        System.out.println(Person.mail);//另外一种访问方法
        System.out.println(Person.mail);//

    }
    public static void main(String[] args) {
        StaticClassTest staticTest = new StaticClassTest();
        staticTest.test();
    }
}

参考文章

【1】java—接口中嵌套接口
【2】Java&&接口嵌套
【3】java进阶–嵌套类和接口
【4】深入理解java嵌套类和内部类、匿名类
【5】Thinking in Java(Java编程思想)
【6】嵌套类:静态嵌套类和非静态嵌套类
【7】java静态嵌套类和内部类

唯美图片

读书感悟

来自 M·斯科特·派克《少有人走的路》

  • 大部分的恐惧与懒惰有关,这句我深以为然。我们常常会害怕改变,其实都是因为自己太懒了,懒得去适应新的环境,懒得去学习新的知识,涉足新的领域,但如果总是这样的话如何能让自己成熟起来呢?
  • 多数人认为勇气就是不害怕。现在让我来告诉你,不害怕不是勇气,它是某种脑损伤。勇气是尽管你感觉害怕,但仍能迎难而上;尽管你感觉痛苦,但仍能直接面对。
  • 你不能解决问题,你就会成为问题。
  • 想让别人真正爱你,只有让自己成为值得爱的人。
  • 治疗一个人痛苦的最好方法,往往不是设法消除痛苦,而是应该与他一起承受。我们必须学会聆听和分担他人的痛苦,这也是意识成长的全部内容。随着意识的成长,我们能更加看清他人的把戏和伎俩,同时也能更深切地体会他们的沉重和悲哀。

经典故事

【住在田里的青蛙:“你这里太危险了,搬来和我住吧。”路边的青蛙说:“我已经习惯了,懒得搬了。”几天后,田里的青蛙去探望路边的青蛙,却发现他已经被车子轧死在路边。启发:原来掌握命运的方法很简单,远离懒惰就行了。】

其他

如果有带给你一丝丝小快乐,就让快乐继续传递下去,欢迎点赞、顶、欢迎留下宝贵的意见、多谢支持!

版权声明:我已委托“维权骑士”(rightknights.com)为我的文章进行维权行动

相关文章推荐

Java&&接口嵌套

在Java语言中,接口可以嵌套在类或其它接口中。由于Java中interface内是不可以嵌套class的,所以接口的嵌套就共有两种方式:class嵌套interface、interface嵌套int...

EJB3.0实体Bean(二)

6.4 单表映射的实体Bean开发前先介绍需要映射的数据库表person字段名称 字段类型属性 描述personid (主键) Int(11) not null 人员IDPersonName Varc...

Java&&(面试题)初始化顺序总结

java-jvm初始化顺序对于每一个面试和学习者来说都非常重要。

java进阶--嵌套类和接口

java进阶--嵌套类和接口

深入理解java嵌套类和内部类、匿名类

深入理解java嵌套类和内部类、匿名类 一、什么是嵌套类及内部类   可以在一个类的内部定义另一个类,这种类称为嵌套类(nested classes...

Java嵌套类

Java的嵌套类分为 静态成员类(静态嵌套类)、内部类(非静态嵌套类)、嵌套接口。内部类还可以分为内部成员类、本地内部类、匿名内部类。 一、静态成员类习惯上将它成为静态嵌套类。标记为在类中使用 sta...

The Java Programming Language4th读书笔记-第五章 嵌套类和接口

嵌套类型主要有两个用途: 嵌套类和嵌套接口使多个类型可以组织成逻辑上相关的组,并具有相应的作用域; 更重要的一点,嵌套类可以简单而有效地连接逻辑上相关的对象;该能力被广泛地用于事件框架;例如Java...

Java中 外部类如何对嵌套类进行实例化

问题: 1.B类被A类嵌套,那么在C类中如何调用B类的成员呢? 2.外部类如何对嵌套类进行实例化? 带着这2个问题,我举例说明如下,如果您对嵌套类有更深入的理解和心得,别忘了与大家分享. /* 远外...

java静态内部类(嵌套类)

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)