Java中的内部类使用详情

目录
  • 一,内部类访问成员
  • 二,访问内部类成员
    • 1,直接访问内部类的中的成员
    • 2,访问成员

一,内部类访问成员

  • 1,内部类可以直接访问外部类的成员,包括私有。
  • 2,外部类要访问内部类,必须建立内部类对象。
class Outer
{
int x = 3;
class Inner{
void function(){
System.out.println("inner : " + x);
}
}

void method(){
Inner in = new Inner();
in.function();
}

}
class InnerClassDome
{
public static void main (String[] args)
{
Outer out = new Outer();
out.method();
}
}

二,访问内部类成员

1,直接访问内部类的中的成员

class Outer
{
int x = 3;
class Inner{
void function(){
System.out.println("inner : " + x);
}
}

void method(){
Inner in = new Inner();
in.function();
}

}
class InnerClassDome
{
public static void main (String[] args)
{
//Outer out = new Outer();
//out.method();

Outer.Inner in = new Outer().new Inner();
in.function();
}
}

2,访问成员

之所以可以直接访问外部类的成员,是因为内部类中持有了一个外部类的引用,格式: 外部类名.this

class Outer
{
int x = 3;
class Inner{
int x = 4;
void function(){
int x = 6;
System.out.println("inner : " + x);
System.out.println("inner : " + this.x);
System.out.println("inner : " + Outer.this.x);
}
}

void method(){
Inner in = new Inner();
in.function();
}

}
class InnerClassDome
{
public static void main (String[] args)
{
//Outer out = new Outer();
//out.method();

Outer.Inner in = new Outer().new Inner();
in.function();
}
}

到此这篇关于Java十分钟精通内部类的使用的文章就介绍到这了,更多相关Java 内部类内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 解析JavaSe的内部类

    目录 内部类 1.内部类简介 2.非静态内部类 3.静态内部类 4.匿名内部类 总结 内部类 1. 内部类简介 (1) 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类. (2) 内部类成员可以直接访问外部类的私有数据,因为内部类被当成其外部类成员,同一个类的成员之间可以互相访问.但外部类不能访问内部类的实现细节,例如内部类的成员变量. (3) 匿名内部类适合用于创建那些仅需要一次使用的类. (4) 在java中内部类主要分为成员内部类(非静态内部类.静态内

  • 学生视角带你了解Java内部类

    目录 一.内部类介绍 二.成员内部类: 1.非静态内部类 2.静态内部类 二.局部内部类: 2.有名的局部内部类 1.匿名局部内部类(重要) 一.内部类介绍 1.定义:一个类内部又嵌套了一个类,被嵌套的类就是内部类(inner class),嵌套其他类的称为外部类(outer class).内部类是类的五大成员之一(属性. 方法.构造器.代码块.内部类). 分类: 二.成员内部类: 1.非静态内部类 说明:定义在成员位置中(方法或代码块外面),无static修饰. 1.可以直接访问外部类的所有的

  • 详解Java匿名内部类

    匿名内部类: 先举个例子吧,给大家看一下什么是匿名内部类,Endeavor刚刚接触的时候,觉得哇哦,好奇怪的样子,这也太别扭了吧,不知道大家是什么感觉. 为了进行对比,先举一个正常的类方法调用的例子(大家应该都看的懂吧): 输出结果为: 接下来便开始说正题吧,匿名内部类,通过名字,想必大家就知道什么是匿名内部类了吧, 1.定义:就是没有名字的内部类(内部类之前介绍过了哦). 2.使用内部类有什么好处呢,一句话就概括了:简化书写,至于是怎么简化的,哪里简化了等下再说. 3.先说一下什么时候使用匿名

  • Java的内部类总结

    目录 前言 一,成员内部类 1,成员内部类的特点 2,成员内部类的实现 3,内部类和外部类的关系 二,静态内部类 1,静态内部类的特点 2,比较成员内部类和静态内部类 3,静态内部类的实现 三,方法内部类 1,方法内部类的特点 2,方法内部类的实现 四, 匿名内部类 1,匿名内部类的特点 2,匿名内部类的实现 总结 前言 最近看了内部类后,总结一下,首先内部类嵌套在其他内部的类,根据出现的位置和关键字,可以分为以下四种类:成员内部类,静态内部类,方法内部类,匿名内部类,接下来就介绍下这四种类,记

  • Java中的内部类你了解吗

    目录 成员内部类 1.定义 2.成员内部类的使用规则 3.成员内部类对象的创建: 4.内部类与静态域 静态内部类: 1.定义: 2.静态内部类的使用规则: 3.静态内部类对象的创建 成员内部类 VS 静态内部类 方法内部类: 1.定义: 2.方法内部类的使用规则: 3.注意形参的使用 匿名内部类(函数式编程) 总结 成员内部类 1.定义 成员内部类是直接定义在类中,不加任何修饰符的(特指不加static修饰的)的内部类,可以类比着成员变量来理解,如下面这个代码段中的Inn类就是一个成员内部类 p

  • 一起来了解Java的内部类

    目录 内部类: 内部类的总结: 一.为什么要用内部类? 二.内部类的好处: 总结 内部类: 其实内部类顾名思义,就是类中类,一个类里面还有一个类. 内部类分为四种: 1.普通内部类 2.静态内部类 3.方法内部类 4.匿名内部类 我们一一去了解一下~~ A.普通内部类: 我们先通过代码去了解一下: package InternalClass; /** * 内部类 */ public class Car { public int a = 10; public int b = 20; //外部类的方

  • Java中的内部类使用详情

    目录 一,内部类访问成员 二,访问内部类成员 1,直接访问内部类的中的成员 2,访问成员 一,内部类访问成员 1,内部类可以直接访问外部类的成员,包括私有. 2,外部类要访问内部类,必须建立内部类对象. class Outer { int x = 3; class Inner{ void function(){ System.out.println("inner : " + x); } } void method(){ Inner in = new Inner(); in.functi

  • 全面了解Java中的内部类和匿名类

    Java内部类(Inner Class),类似的概念在C++里也有,那就是嵌套类(Nested Class),乍看上去内部类似乎有些多余,它的用处对于初学者来说可能并不是那么显著,但是随着对它的深入了解,你会发现Java的设计者在内部类身上的确是用心良苦.学会使用内部类,是掌握Java高级编程的一部分,它可以让你更优雅地设计你的程序结构.下面从以下几个方面来介绍: 第一次见面 public interface Contents { int value(); } public interface

  • java中的内部类内部接口用法说明

    简介 一般来说,我们创建类和接口的时候都是一个类一个文件,一个接口一个文件,但有时候为了方便或者某些特殊的原因,java并不介意在一个文件中写多个类和多个接口,这就有了我们今天要讲的内部类和内部接口. 内部类 先讲内部类,内部类就是在类中定义的类.类中的类可以看做是类的一个属性,一个属性可以是static也可以是非static的.而内部类也可以定义在类的方法中,再加上匿名类,总共有5种内部类. 静态内部类 我们在class内部定义一个static的class,如下所示: @Slf4j publi

  • Java 中的 File类详情

    目录 一.File类简单介绍 二. 路径的分类 三. 构造方法 四. 成员方法 一.File类简单介绍 为什么要学习File类呢,他的作用又是什么呢? IO流操作中大部分都是对文件进行操作,所以Java就提供了一个File类供我们来操作文件,它是以抽象的方式代表文件名和目录路径名,该类主要是对文件或目录的创建,文件的查找,删除等.对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已.它可以是存在的,也可以是不存在的.将来是要通过具体的操作把这个路径的内容转换为具体存在的. 二

  • 一文带你真正理解Java中的内部类

    目录 概述 内部类介绍和分类 常规内部类 局部内部类 匿名内部类 静态内部类 静态内部类和普通内部类的区别 内部类的作用 概述 不知道大家在平时的开发过程中或者源码里是否留意过内部类,那有思考过为什么要有内部类,内部类都有哪几种形式,静态内部类和普通内部类有什么区别呢?本篇文章主要带领大家理解下这块内容. 内部类介绍和分类 顾名思义,内部类是指一个类在另外一个类的内部,是定义在另一个类中的类.根据类的位置和属性不同,可以分为下面几种. 常规内部类 @Data public class Tree

  • 深入解析Java中的内部类

    概述 最近学习python,发现python是支持多继承的,这让我想起Java是通过内部类实现的这套机制.这篇文章不是讲如何通过内部类实现多继承,而是总结一下内部类的类型和使用方法. Java内部类分为: 非静态内部类 静态内部类 局部内部类 匿名内部类 内部类在Android源码中被大量的使用,先介绍一下这四种内部类的共同点: 内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号. 内部类不能用普通的方式访问.内部类是外部类的一个成员,因

  • 整理java读书笔记十五之java中的内部类

    内部类是指在一个外部类的内部再定义一个类.类名不需要和文件夹相同. *内部类可以是静态static的,也可用public,default,protected和private修饰.(而外部顶级类即类名和文件名相同的只能使用public和default). 前言 Java从JDK1.1的时候,就开始引入内部类的概念了,那么小编也通过这篇博客来分享一下Java中有关内部类的一些特性.  什么是内部类? 在很多情况下,类被定义成一个独立的程序单元,但是有时候也会把一个类放在另一个类的内部定义,这个定义在

  • Java 中引入内部类的意义?

    前言 这是个好问题,因为它让我想起来自己刚学到内部类时候的"想用的冲动". 导致我代码里到处都是层层的内部类套嵌.不但经常搞得静态域错误一堆(内部类不允许有static成员字段),而且过一段时间自己都搞不清当初写的是什么. 一个很重要的设计准则是:设计是做减法,能不用模式就不用模式. 这个准则对内部类来说同样适用. 所以回答这个问题的基调应该是: 能不用内部类就不用内部类. 实践 我以前觉得内部类用来有针对性地暴露外部类的特定接口,比一下子把整个对象都给人家要好.比如说下面代码中的外部

  • java中的内部类详细总结

    内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑.肢体.器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液.跳动) 显然,此处不能单方面用属性或者方法表示一个心脏,而需要一个类 而心脏又在人体当中,正如同是内部类在外部内当中 实例1:内部类的基本结构 复制代码 代码如下: //外部类 class Out {     private int age = 12; //内部类     class In {         p

随机推荐