接口

作用: 结构设计工具,用来解耦合,需要有子类,隔离具体实现

接口是一个极端的抽象类

用 interface 代替 class

用 implements 代替 extends

// 接口中所有东西都是公开

// 所有方法都是抽象方法

// 所以方法定义可以省略/* public abstract */

// final 不可变

// static 在方法区只保存一份内存, 节省内存

// 常量使用 final 和 static 定义,字母大写,单词之间下划线链接

/*public static final */ //接口定义常量可以省略

接口中可以定义

1. 公开的抽象方法

2. 公开的常量

3. 公开的内部类, 内部接口

一个类可以实现多个接口

class A implements X,Y,Z{

}

class A extends B implements X,Y,Z{

}

接口和接口之间继承,可以多继承

interface A extends X,Y,Z{

}

内部类:

嵌套在类中,方法中,局部代码中的类

分为:

非静态内部类

     class A {

          class Inner {

          }

     }

     非静态内部类不能独立创建对象,

     它必须依赖于外部实例才能存在

    A a = new A();

    Inner i = a.new Inner();

    

   一般用来封装局部的算法和逻辑,

静态内部类

  class A {

      static class Inner{

      }

   }

  A.Inner i = new Inner();

 

  考虑它与外部类关系紧密,可以嵌套定义在一起,

 

局部内部类

   class A{

         Weapon f(){

              class Inner implements Weapon{

              }

              Inner i = new Inner();

              return i;

         }

    }

   Weapon w = a.f();

   局部内部类,只能在布局使用,可以转成父类型,向外传递

   

  

匿名内部类

 Weapon w = new Weapon(){};

 大括号:  匿名类

 new:   新建匿名类的对象

 Weapon: 父类型

 小括号: super();  或者 super (.....);

  

 

java - day008 - 接口,内部类的更多相关文章

  1. 解决Java接口内部类的main()方法无法打印输出的问题

    问题源自<Thinking in Java>关于内部类的章节,例子如下: public interface ClassInInterface{ void howdy(); public c ...

  2. Java内部类(4):静态内部类&接口内部类

    使用static修饰的内部类我们称之为静态内部类,不过我们更喜欢称之为嵌套内部类.静态内部类与非静态内部类之间存在一个最大的区别,我们知道非静态内部类在编译完成之后会隐含地保存着一个引用,该引用是指向 ...

  3. java基础之 内部类

    Java中的内部类共分为四种: 静态内部类static inner class (also called nested class) 成员内部类member inner class 局部内部类loca ...

  4. java 笔记(2) —— 内部类的作用

    一.内部类简介 个人觉得内部类没多少研究价值,GUI中的事件响应算是非常典型的应用了. Java内部类其实在J2EE编程中使用较少,不过在窗口应用编程中特别常见,主要用来事件的处理.其实,做非GUI编 ...

  5. JAVA 第二天 内部类

    package com.company; /** * Created by Administrator on 2016/8/23. */ public class Outter {//生成的字节码文件 ...

  6. Java 中的内部类

    前言 在第一次把Java 编程思想中的内部类这一章撸完后,有点印象.大概知道了什么时内部类,局部内部类,匿名内部类,嵌套内部类.随着时间的推移,自己慢慢的就忘记了,总感觉自己思考的东西不多,于是 看了 ...

  7. Java中的 内部类(吐血总结)

    1. 内部类的作用 内部类是一个独立的实体,可以用来实现闭包:能与外部类通信:内部类与接口使得多继承更完整 2. 内部类的分类 1)普通内部类 类的实例相关,可以看成是一个实例变量.内部类的类名由 “ ...

  8. Java Nested Classes(内部类~第一篇英文技术文档翻译)

    鄙人最近尝试着翻译了自己的第一篇英文技术文档.Java Nested Classes Reference From Oracle Documentation 目录 嵌套类-Nested Classes ...

  9. java 里的内部类

    java里的内部类通常能帮我们隐藏一些具体实现,体现良好的封装效果. 内部类又分几种: 1.普通内部类 2.局部内部类 3.匿名内部类 4.静态内部类 普通内部类 先来看第一种普通的内部类,这种内部类 ...

随机推荐

  1. RocketMQ共包含9个模块

    rocketmq-common:通用的枚举.基类方法.或者数据结构,包名有admin.consumer.filter.hook.message rocketmq-remoting:使用netty的客户 ...

  2. 容器版单个jenkins实现CI/CD----带solo博客开源项目

    实验架构: 192.168.0.96 gitlab 192.168.0.97 jenkins.docker-1.7 192.168.0.98 harbor.docker-1.7集群 jenkins安装 ...

  3. 【linux基础】Ubuntu下的终端多标签切换快捷键

    method: 方法一: alt+ alt+ alt+ 方法二: ctrl + pageUp ctrl + pageDown 方法三: Edit--> Keybord Shortcuts 到这里 ...

  4. Python3之类和实例

    面向对象的重要概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如学生类Student,而实例是根据类创建出来的一个个具体的对象,每个对象都拥有相同的方法,单各自的数据可能 ...

  5. DTCMS会员中心添加新页面

    首先将模板文件spend_list.html放到模板文件夹 URL配置里 将需要在此页面传递的参数,在“添加表达式”中配置好 链接写法: 继承类名DTcms.Web.UI.Page.spend_lis ...

  6. Python的发展历史及其前景

    Python的发展历史 1989年,吉姆·范罗苏姆为打发时间,决定为当时正构思的一个新的脚本语言编写一个解释器.作为派森的狂热粉丝,他以Python命名该项目,使用C进行开发. 1991年发布Pyth ...

  7. CentOS 7 vi详解

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

  8. eNSP——配置NAT

    原理: 实验案例: 拓扑图: 实验编址: 1.基本配置 根据实验编址进行基本配置,并测试连通性. 2.配置静态NAT 公司在网关路由器R1上配置访问外网的默认路由. 需要在网关路由器R1上配置NAT地 ...

  9. 【链接】js监听input输入框内容变化

    https://blog.csdn.net/idomyway/article/details/79078625 $("#input1").bind("input prop ...

  10. nginx 为什么受欢迎?

    优势:1.高并发 2.可扩展性 3.高可靠性 4.热部署 5.BSD许可证 如何做到以上优势呢?高并发:异步io非阻塞,占用更少资源,支持更多连接可扩展:模块化设计,第三方模块多高可靠:核心框架代码的 ...