首页 > 编程语言 >JAVA的内部类

JAVA的内部类

时间:2023-05-27 12:23:15浏览次数:40  
标签:部类 JAVA 内部 成员 创建对象 new 方法

JAVA的内部类

写在一个类里面的类就叫内部类

分类

  1. 成员内部类:写在成员位置的,属于外部类的成员

  2. 静态内部类:是一种特殊的成员内部类

  3. 局部内部类:将内部类定义在方法里面

  4. 匿名内部类:隐藏了名字的内部类,可以写在成员位置也可以写在局部位置

获取成员内部类的两种方法

  • 当成员内部类被private修饰时,在外部类编写方法,对外提供内部类对象

  • 当成员内部类被非私有修饰时,直接创建对象

外部类 Outer 内部类 inner oi= new Outer() . new lnner();

 

外部类成员变量和内部类成员变量重名时,在内部类如何访问?

systm.out.println(outer.this.变量名);

创建静态内部类的方式

Outer.lnner oi =new Outer.lnner();

如何调用静态内部类中的方法

  1. 非静态方法:先创建对象,用对象调用

  2. 静态方法:外部类名.内部类名.方法名();

局部内部类

外界是无法直接使用,需要在方法内部创建对象并使用

该类可以直接访问外部类的成员,也可以访问方法内的局部变量

匿名内部类

格式:

new 类名或者接口名{

重写方法;

};

格式的细节:

包含了继承或实现,方法重写,创建对象

整体就是一个类的子类对象或者接口的实现类对象

使用场景:

当方法的参数是接口或类时

以接口为例,可以传递这个接口的实现类对象

如果实现类只要使用一次,就可以用匿名内部类简化代码

标签:部类,JAVA,内部,成员,创建对象,new,方法
From: https://www.cnblogs.com/longlonglong777/p/17436544.html

相关文章

  • Java语言的简单介绍
    1.计算机语言概述​计算机语言是一种特殊的语言。因为它是用于人与计算机之间传递信息的,所以人和计算机都能“读懂”。具体地说,一方面,人们要使用计算机语言指挥计算机完成某种特定动作,就必须对这种工作进行特殊描述,所以它能够被人们读懂。另一方面,计算机必须按计算机语言描......
  • java开发学习框架
    Java基础1.1.Java简介与安装1.2.Java基本语法1.3.数据类型与变量1.4.运算符与表达式1.5.流程控制(分支与循环)1.6.数组面向对象编程2.1.类与对象2.2.继承与多态2.3.接口与抽象类2.4.封装与访问控制2.5.重载与覆盖2.6.Java内存管理与垃圾回收Java常用......
  • 1.1. Java简介与安装
    Java简介Java是一种广泛使用的计算机编程语言,由JamesGosling和他的团队在SunMicrosystems公司开发,于1995年首次发布。Java的设计理念是“一次编写,到处运行”,这意味着Java应用程序可以在任何支持Java运行时环境(JRE)的设备上运行,而无需重新编译。Java的主要特点包括:面向对象:Java......
  • Java基本语法
    类与文件名在Java中,每个程序都是以类为基础进行编写的。一个简单的Java程序通常包含一个类,类名应该以大写字母开头。Java源代码文件的文件名必须与类名相同,并以.java作为文件扩展名。例如,下面是一个名为HelloWorld的简单Java程序:publicclassHelloWorld{publ......
  • Java基本语法
    类与文件名在Java中,每个程序都是以类为基础进行编写的。一个简单的Java程序通常包含一个类,类名应该以大写字母开头。Java源代码文件的文件名必须与类名相同,并以.java作为文件扩展名。例如,下面是一个名为HelloWorld的简单Java程序:publicclassHelloWorld{pub......
  • Java 进阶 - SpringJPA 持久层框架
    参考资料https://spring.io/projects/spring-data-jpa介绍SpringDataJPA是Spring基于ORM(ObjectRelationalMapping)框架、JPA规范的基础上封装的一套JPA应用框架,底层使用了Hibernate的JPA技术实现,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了......
  • From Java To Kotlin:空安全、扩展、函数、Lambda很详细,这次终于懂了
    FromJavaToKotlin,空安全、扩展、函数、Lambda概述(Summarize)Kotlin是什么?可以做什么?Android官方开发语言从Java变为Kotlin,Java有哪些问题?Kotlin的优点Kotlin特性(Features)Kotlin是什么?Kotlin出自于捷克一家软件研发公司JetBrains,这家公司开发出很多优秀的......
  • Java 中的运算符和流程控制(附面试题)
    算术运算符Java中的算法运算符,包括以下几种:算术运算符名称举例+加法1+2=3-减法2-1=1*乘法2*3=6/除法24/8=3%求余24%7=3++自增1inti=1;i++--自减1inti=1;i--我们本讲要重点讲的是“++”和“--”,其他的算术运算符相对比较简单直观,本讲就不花精力去讲解了,之所以要把“++”和......
  • 全面掌握 Java 中的异常处理(附面试题)
    在程序开发中,异常处理也是我们经常使用到的模块,只是平常很少去深究异常模块的一些知识点。比如,try-catch处理要遵循的原则是什么,finally为什么总是能执行,try-catch为什么比较消耗程序的执行性能等问题,我们本讲内容都会给出相应的答案,当然还有面试中经常被问到的异常模块的一些面......
  • java基于springboot+vue时间管理系统、日记管理系统,附源码+数据库+lw文档+PPT
    1、项目介绍本次设计任务是要设计一个时间管理系统,通过这个系统能够满足时间管理的管理功能。系统的主要功能包括首页,个人中心,系统公告管理,用户管理,时间分类管理,事件数据管理,目标数据管理,用户日记管理等功能。管理员可以根据系统给定的账号进行登录,登录后可以进入时间管理系统,对......