栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA内部类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA内部类

本文主要介绍了java中的内部类,包括:成员内部类、静态内部类、局部内部类、匿名内部类,介绍了以上内部类的概念、语法、创建对象、注意事项等知识!

JAVA匿名内部类
    • `1.概念及其分类`
      • (1)名词介绍
      • (2)内部类的分类
    • `2.成员内部类`
      • (1)概念、语法、创建
      • (2)注意事项
    • `3.静态内部类`
      • (1)概念、语法、创建
      • (2)注意事项
    • `4.静态内部类`
      • (1)概念、语法、创建
      • (2)注意事项
    • `5.匿名内部类`
      • (1)概念、语法、创建
      • (2)优缺点

1.概念及其分类
(1)名词介绍
内部类:在类中定义的类,称为内部类

外部类:在java文件中,不在类中定义的类称为外部类,
	   一个java文件只能有一个公共的外部类,该类的类名必须与Java文件名一致

例子:
	class Out{
		class In{
		
		}
	}
	Out就是外部类
	In就是内部类

(2)内部类的分类

类中方法以外

  1. 成员内部类
  2. 静态内部类

方法中

  1. 局部内部类

值或实参

  1. 匿名内部类

2.成员内部类
(1)概念、语法、创建
如何定义:
	定义位置:在类中方法以外
	语法:
		访问权限修饰符 class 内部类类名{
			
		}
		
该内部类中有什么:
	不用static修饰的都可以,包括但不限于静态属性,静态方法,静态代码块等
	
如何创建该内部类对象:
	语法:内部类类名 对象名 = 外部类对象.new 内部类类名(实参列表);

(2)注意事项

当内部类属性或方法与外部类重名时

  1. this.属性名或方法名:表示内部类属性或方法
  2. 外部类类名.this.属性名或方法名:表示外部类属性或方法

3.静态内部类
(1)概念、语法、创建
如何定义:
	定义位置:类中,方法以外
	语法:
		访问权限修饰符 static class 内部类类名{
		
		}
				
该内部类中有什么:
	类中可以有的,他都可以有
	
如何创建对象:
	内部类类名 对象名 = new 外部类类名.内部类类名(实参列表);

(2)注意事项

注意:

  1. 不能直接使用外部类的非静态成员
  2. 不能使用外部类的this

(以上两点可以理解为,在静态方法中不能使用非静态成员以及this)

4.静态内部类
(1)概念、语法、创建
如何定义:
	定义位置:方法中
	语法:
		class 类名{
		
		}

该内部类有什么:
	不能用static修饰成员
	
如何创建对象:
	内部类类名 对象名 = new 内部类类名(实参列表);
(2)注意事项

注意:

  1. 没有访问权限修饰符
  2. 只能在声明的方法中使用,而且必须在定义内部类之后使用
  3. 内部类方法中的局部变量与所在的方法的局部变量重名,无法区分
5.匿名内部类
(1)概念、语法、创建
定义:
	定义位置:实参或属性赋值处
	接口名/父类名 对象名 = new 接口名/父类名(){
		属性
		方法
		重写的方法
	}
该内部类有什么:
	不能用static修饰成员,只有一个系统提供的无参构造函数

如何创建对象:
	参考定义
	
(2)优缺点

缺点:

  1. 使代码混乱,导致难以阅读
  2. 只能创建一个对象

优点:
3. 便于书写

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/998600.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号