JAVA中的内部类(一)静态内部类
Java中的静态内部类:在定义的内部类前加static修饰符,此时的内部类就是静态内部类。通过一个例子来了解静态内部类都有哪些特点。
public class Outer {//定义一个实例变量和一个静态变量private int a;private static int b;//定义一个静态方法和一个非静态方法public static void say(){}public void test(){//在外部类中调用内部类的属性和方法Outer.Inner.c = 1; //可以通过静态内部类的全类名来调用静态内部类的静态属性(外部类名.静态内部类名.属性)Outer.Inner.go(); //可以通过静态内部类的全类名来调用静态内部类的静态方法(外部类名.静态内部类名.方法)//Outer.Inner.walk(); //不能通过类静态内部类的全类名来调用内部类的非静态属性和方法Inner inner = new Inner();inner.d = 1;inner.walk(); //可以通过创建内部类实例来调用静态内部类的非静态属性和方法}//静态内部类public static class Inner{//在静态内部类中定义一个静态变量和一个实例变量static int c;int d;//定义一个匿名代码块和一个静态代码块{}static{}//定义一个静态方法和一个普通方法public static void go(){}public void walk(){//在静态内部类中调用外部类的属性和方法int f = b; //可以直接调用外部类的静态属性say(); //可以直接调用外部类的静态方法//int e = a; 直接调用外部类的非静态属性出错编译出错//test(); 直接调用外部类的非静态方法时编译出错Outer outer = new Outer();int e = outer.a; //可以通过创建外部类实例来调用外部类的非静态属性outer.test(); //可以通过创建外部类实例来调用外部类的非静态方法}}
}
总结:
1、静态内部类中可以写哪些内容
1)匿名代码块
2)静态代码块
3)静态变量和非静态变量
4)静态方法和非静态方法
注意:不能在静态内部类中写抽象方法
2、外部类如何调用静态内部类中的属性和方法
1)外部类可以通过创建静态内部类实例的方法来调用静态内部类的非静态属性和方法
2)外部类可以直接通过“ 外部类.内部类.属性(方法)” 的方式直接调用静态内部类中的静态属性和方法
3、静态内部类如何调用外部类的属性和方法
1)静态内部类可以直接调用外部类的静态属性和方法
2)静态内部类可以通过创建外部类实例的方法调用外部类的非静态属性和方法
4、如何创建静态内部类实例
1)在非外部类中:外部类名.内部类名 name = new 外部类名.内部类名();
2)在外部类中:内部类名 name = new 内部类名();
JAVA中的内部类(一)静态内部类相关推荐
- java 为什么有匿名类_全面了解Java中的内部类和匿名类
Java内部类(Inner Class),类似的概念在C++里也有,那就是嵌套类(Nested Class),乍看上去内部类似乎有些多余,它的用处对于初学者来说可能并不是那么显著,但是随着对它的深入了 ...
- Java学习笔记二十:Java中的内部类
Java中的内部类 一:什么是内部类: (1).什么是内部类呢? 内部类( Inner Class )就是定义在另外一个类里面的类.与之对应,包含内部类的类被称为外部类. (2).那为什么要将一个类定 ...
- 深入理解Java中为什么内部类可以访问外部类的成员
内部类简介 虽然Java是一门相对比较简单的编程语言,但是对于初学者, 还是有很多东西感觉云里雾里, 理解的不是很清晰.内部类就是一个经常让初学者感到迷惑的特性. 即使现在我自认为Java学的不错了, ...
- Java面试题—内部类和静态内部类的区别
内部类和静态内部类的区别 内部类: 1.内部类中的变量和方法不能声明为静态的. 2.内部类实例化:B是A的内部类,实例化B:A.B b = new A().new B(). 3.内部类可以引用外部类的 ...
- 8、java中的内部类
根据类定义时所在的位置不同可以将内部类分为四大类:成员内部类.方法内部类.静态内部类.匿名内部类. 成员内部类 顾名思义成员内部类定义在外部类的成员变量位置,相当于外部类的一个成员.将成员内部类当成当 ...
- java 什么是内部类_讨论Java中的内部类是什么?
前言 内部类,讲完前面的特性,今天就讲下内部类这个用的比较多,出现频率挺高的知识点. what is that? 首先,顾名思义,内部类就是在类的内部,也就是类的类,嵌套在里面的.直接代码介绍,现一般 ...
- JAVA中的内部类(二)成员内部类
Java中的成员内部类(实例内部类):相当于类中的一个成员变量,下面通过一个例子来观察成员内部类的特点 public class Outer {//定义一个实例变量和一个静态变量private int ...
- Java中的内部类和匿名类
内部类 Java中的类有两种重要的成员,即成员变量和方法.其实Java还允许类有一种成员,即在一个类中声明另一个类,这就是内部类,而包含内部类的类叫做外嵌类. 内部类和外嵌类之间的关系如下: 1.内部 ...
- java中继承内部类的方法_Java自学-接口与继承 内部类
Java 内部类 内部类分为四种: 非静态内部类 静态内部类 匿名类 本地类 步骤 1 : 非静态内部类 非静态内部类 BattleScore "战斗成绩" 非静态内部类可以直接在 ...
最新文章
- 软件架构师证书有用吗_健康管理师证书在求职时有用吗?
- poj 3660 Cow Contest
- 网站建设之前需要先了解目标受众
- poj 1065 Wooden Sticks
- python必刷面试_Python面试必刷题系列(5)
- RPC调用和HTTP调用的区别你知道吗
- 02.CSS基础笔记及导入
- LeetCode —— 980. 不同路径 III(Python)
- linux中的fbset工具,Fluxbox (简体中文)
- VS2010工程转VS2005工程的方法
- C语言——坦克大战(纯控制台显示)
- 【分享】豆瓣上排名top100的书籍
- 如何制作一个读取U盘文件系统的工程
- python爬虫 点击下一页,总结python爬虫抓站的实用技巧 python爬虫怎么获取下一页的url...
- 《Python编程入门到实践》 第四章 操作列表
- syntax error, expect ')' 数据库报错批量插入
- 足球视频AI(五)——球员与球的对象跟踪
- 成人计算机学校上海,上海市成人中专学校
- 宝塔虚拟服务器,通过宝塔面板配置虚拟主机(共享服务器)
- 罗技CSGO压枪宏文件