Day06_32_Java各种内部类
内部类
- 内部类都有哪些? - 成员内部类 
- 匿名内部类 
- 静态内部类 
- 局部内部类 
 
- 成员内部类 - - 成员内部类内部不能有静态声明(静态方法和静态变量) - 成员内部类可以访问外部类中所有的数据包括静态数据和实例
 - 语法 - // 外部类
 public class Outer { // 外部类变量
 private int id=10; // 外部类方法
 public void out(){
 System.out.println("外部类方法");
 } // 成员内部类
 public class Inner{ // 内部类方法
 public void in(){
 System.out.println("内部类方法");
 } // 内部类获取外部类变量(id)
 public void getId(){
 System.out.println(id);
 }
 }
 
 - } - 创建成员内部类对象 - // 创建成员内部类对象
 Outer.Inner inner=outer.new Inner(); // 调用内部类方法
 inner.in();
 inner.getId();
 
 
- 静态内部类 - 静态内部类可以等于看做内部变量 
- 可以用访问修控制权限符修饰 
- 内部类重要的作用:可以访问外部类中私有的数据。 
- 静态内部类可以直接访问外部类中的静态数据,无法直接访问成员数据 
 
- 静态内部类的定义 
  public class statiinclass {
      //静态方法
  public static void mian(String []args) {
 	 innerClass.m3();
  }
  //静态变量
 private static String s1="A";
  //成员变量
  private String s2="B";
  //静态方法
  private static void m1() {
      System.out.println("static's m1 method execute!");
  }
  //成员方法
 private void m2() {
 	 System.out.println("m2 method execute!");
  }
       //静态内部类
      //可以用访问修控制权限符修饰
     //内部类重要的作用:可以访问外部类中私有的数据。
    //静态内部类可以直接访问外部类中的静态数据,无法就直接访问成员数据
   static class innerClass{
 	 //静态方法
 	 public static void m3() {
 		 System.out.println(s1);
 		 statiinclass.m1();
 	 }
 	 //成员方法
 	 public void m4() {
 	     System.out.println();
 	 }
     }
    }
* 局部内部类
      - 局部内部类等同于局部变量
      - 局部内部类中不能有静态声明(静态方法和静态变量)
      - 局部内部类在访问局部变量的时候,该局部变量必须使用final关键字修饰
      - 局部内部类需要在局部内部类中创建对象,引用内部类中的方法,然后在主方法中调用包含内部类的方法就实现了依次执行
*  匿名内部类
    - 指的是类没有名字,没有名字的类。
    - 匿名内部类的优点是少定义一个类、缺点是无法重复使用。Day06_32_Java各种内部类的更多相关文章
- java中的内部类
		/** * 内部类 ?? * 定义在一个内部的类,被称为内部类. * 内部类里有类体,方法体 * 内部类所在的类,被称为外部类. * --------------------------------- ... 
- java中的内部类总结
		内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑.肢体.器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液.跳动) 显然, ... 
- 错误: 从内部类中访问本 地变量vvv; 需要被声明为最终类型
		从github 下载了源码, 进行编译, 出现了下面的错误 E:\downloads\ff\elasticsearch-master\elasticsearch-master>GRADLE :b ... 
- Java内部类final语义实现
		本文描述在java内部类中,经常会引用外部类的变量信息.但是这些变量信息是如何传递给内部类的,在表面上并没有相应的线索.本文从字节码层描述在内部类中是如何实现这些语义的. 本地临时变量 基本类型 fi ... 
- Java内部类学习笔记
		20160923 定义:将一个类的定义放在另一个类的内部: 从外部类的非静态方法之外,创建某个内部类的对象:OutClassName.InnerClassName: 内部类拥有所有其外部类的成员的访问 ... 
- Android XML中引用自定义内部类view的四个why
		今天碰到了在XML中应用以内部类形式定义的自定义view,结果遇到了一些坑.虽然通过看了一些前辈写的文章解决了这个问题,但是我看到的几篇都没有完整说清楚why,于是决定做这个总结. 使用自定义内部类v ... 
- 静态方法中不能new内部类的实例对象的总结
		class Test{ public void main(String[] args){ A testA=new A(); //这里会出现问题 new Thread(new Runnable(){ p ... 
- Java内部类与外部类的那些事
		昨天去笔试的时候遇到了Java的内部类的创建方式与访问权限的问题,我不懂,没写,故今天起来特意去试验一下,就有了这篇总结性的文章. Java中的内部类又分为非静态内部类(匿名内部类也是非静态的内部类) ... 
- java 多态和内部类
		接口跟接口之间存在继承关系 一个接口可以继承多个接口 一个非抽象类:必须实现接口中的所有方法 一个抽象类实现接口 可以不实现接口中的方法 但是继承与抽象类的类必须要是实现接口中的方法 多态:一个对 ... 
随机推荐
- mysql主从备份说明(win系统)
			1. 环境描述: 主机:192.168.2.201 从机:192.168.2.111 Mysql版本:5.7 2. 主机my.ini配置: log-bin=C:\mysqlback expire-lo ... 
- 微信的两种access_token总结,不能混淆
			大家需要弄清楚微信的网页授权token和公众号api调用授权token. 1.网页授权access_token 1.有效期:7200ms 2.微信网页授权是通过OAuth2.0机制实现的,在用户授权给 ... 
- k8s v1.18.2 centos7 下环境搭建
			准备 服务器:3台机器--1台主.2台工作节点,可以使用virtualbox 搭建虚拟机 主机名 centos version ip docker version flannel version 主机 ... 
- 解读KMP算法
			前后断断续续搞了5个月,每次都以为自己懂了, 但是要写的时候都不知从何下手,然后又是各种找博客,看帖子,所以这次试着用自己的语言写一个博客. 首先,KMP算法就是从一个模板字符串(S) 中匹配目标字符 ... 
- net5 webapi中  SwaggerUI如何进行版本控制
			创建项目 net5就自带上了swaggerUI,见红色 // This method gets called by the runtime. Use this method to add servic ... 
- 使用函数式语言实践DDD
			长期以来我都在实践OOP,进而通过OOP来实现DDD,特别是如何通过面向对象的技巧来建立一个领域模型.OO的一些特性在建立领域模型时显得恰如其分,能否掌握OO的技巧,对创建领域模型有着至关重要的作用. ... 
- pandas函数的使用
			一.Pandas的数据结构 1.Series Series是一种类似与一维数组的对象,由下面两个部分组成: values:一组数据(ndarray类型) index:相关的数据索引标签 1)Serie ... 
- 一篇看懂JVM底层详解,利用class反编译文件了解文件执行流程
			JVM之内存结构详解 JVM内存结构 java虚拟机在执行程序的过程中会将内存划分为不同的区域,具体如图1-1所示. 五个区域 JVM分为五个区域:堆.虚拟机栈.本地方法栈.方法区(元空间).程序计数 ... 
- P3387 【模板】缩点 题解 (Tarjan)
			题目链接 P3387 [模板]缩点 解题思路 这几天搞图论,好有趣hhh,多写几篇博客. 上次学\(Tarjan\)求割点,这次缩点. 思路大概是多一个栈和染色的步骤,每次\(Tarjan\)的时候把 ... 
- CSS篇-样式表、选择器、权重、伪类
			CSS定义 CSS:Cascading Style Sheet(层叠样式表) // 写法 选择器 { 属性名: 属性值; } CSS样式表 (1)三种样式表使用 // 内联样式 <div sty ... 
