当前位置: 首页 > news >正文

学Java第三十六天--------内部类

一、什么是内部类

为什么要学习内部类

简单代码示例

二、匿名类-----内部类的一种

1、成员内部类

如何创建成员内部类对象

outer.this相当于外部类对象的地址,所以访问外部类的成员变量a时,就可以这样写:Outer.this.a

访问内部类的成员变量时,就可以写:this.a

2、总结

2、静态内部类

静态内部类可以想象成成员内部类是静态的。在一个类里面,用静态static修饰的变量、内部类等,在测试类中被调用的时候,要用类名去调用,不用对象名。内部类类名是 Outer.Inner,所以创建内部类对象时就可以:Outer.Inner oi =new Outer.Inner()。show1()是非静态方法,用对象名去调用:oi.show1();show2()是静态方法,用类名去调用:Outer.Inner.show2()。

静态内部类只能访问外部类的静态成员变量和静态成员方法,不能访问非静态的,如果要访问非静态的,就要先创建外部类的对象。如:

而且,不光是静态内部类只能访问静态变量,静态方法,连一个普通类的静态方法也只能访问静态变量,如下图所示。所以说:1、静态的只能访问静态变量  2、静态的东西在被调用的时候要用类名,不用对象名。

总结

3、局部内部类

private 、protected、public这些表示范围大小的修饰词只能修饰成员变量(在类里面),不能修饰局部变量(在一个方法里面)。

代码示例:

4、匿名内部类(重点掌握)

格式、概念、使用场景

代码示例:

1、先写一个接口---swim

package com.innerclass.demo3;public interface Swim {public abstract void swim();
}

2、写一个测试类,体现匿名内部类的用处

package com.innerclass.demo3;public class Test {public static void main(String[] args) {method(new Swim(){@Overridepublic void swim() {System.out.println("狗在狗刨");}});}public static void method(Swim s){//用Swim s接住,可以理解为多态,一个实现了该接口的类可以被接口类型接住s.swim();}
}

这样就不用再单独创建一个子类,再创建一个子类对象,来调用这个函数。

并不是匿名内部类,而是匿名内部类的对象。

http://www.dtcms.com/a/475439.html

相关文章:

  • 开源php建站系统沙井建网站
  • 温州网站建设对比网站系统开发怎么做
  • 专门做旅游攻略的网站有哪些团购火锅自助网站建设
  • 临沂网站开发技术员广州引流推广公司
  • 承包酒席可以做网站吗廊坊百度关键词推广
  • 风景区网站代码有人做几个蝎子养殖门户网站
  • 毕业设计做网站有什么好处网站后台英文
  • php网站标题修改网站建设需要的技术人员
  • 【大数据开发实践】Kafka REST Proxy~无缝集成 Kafka
  • 做网站欢迎页什么意思阿里云搜索引擎
  • 广东真空共晶炉公司
  • wordpress网站发布文章做网站的创始人
  • 上海市建设考核中心网站无锡企业网站
  • 【计算机组成原理】第五章:中央处理器
  • ICT 数字测试原理 20 - -VCL中预处理的过程
  • 房地产网站建设的目的淘宝客网站怎么做推广计划
  • 江西网站设计哪家强ai绘画软件免费
  • 公司网站首页的图片怎么做电脑网页尺寸一般是多少
  • 企业网站 数据库设计网站开发老板排名
  • 开放平台直播优化课程体系
  • 建设英文商城网站深圳网站优化公司
  • 2.3变量与常量
  • 使用okhttp3发送请求
  • 网站开发 工期安排郑州不错的软件开发公司
  • [创业之路-688]:社会化再生产的环节以及典型的组织名称
  • 网站模板使用教程应用商店下载最新版
  • 企业网站建设与管理期末考试南京较好的网站制作公司
  • 公司网站怎么选贵阳网站建设钟鼎网络
  • 远程服务器Mysql环境的配置
  • 老题新解|求 10000 以内 n 的阶乘