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

Java小白入门200例93之Java内部类--静态内部类

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

Java小白入门200例93之Java内部类--静态内部类

作者简介

作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、Javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

引言

很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  92.Java内部类–成员内部类
►下一篇  94.Java内部类–局部内部类

概述

静态内部类是指使用 static 修饰的内部类。

实例1

一个静态内部类

package demo.demo93;
//外部类
public class Outer {
	// 静态内部类
	static class Inner {
	    
	}  
}

编译后的class文件,如图:

结论:
内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号。
这个跟成员内部类结论是一样的。

实例2

在创建静态内部类的实例时,不需要创建外部类的实例。

package demo.demo93;

public class Test {

	public static void main(String[] args) {
		//实例化静态外部类
		Outer.Inner inner = new Outer.Inner();
	}	
}
实例3

静态内部类可以直接访问外部类的静态成员,如果要访问外部类的实例成员,则需要通过外部类的实例去访问。

package demo.demo93;
//外部类
public class Outer {
	
	private int a=10;
	private static int b=20;
	public void test(){
		System.out.println("外部类test方法");
	}
	public static void static_test(){
		System.out.println("外部类static_test方法");
	}
	// 静态内部类
	static class Inner {
	    
		public void print() {
			//访问实例成员要先实例化,通过实例对象去访问
			Outer outer = new Outer();
			System.out.println(outer.a);
			outer.test();
			//直接访问静态属性
			System.out.println(b);
			//直接访问静态方法
			static_test();
		}
	}  
}

实例4

外部类以外的其他类需要通过完整的类名访问静态内部类中的静态成员,如果要访问静态内部类中的实例成员,则需要通过静态内部类的实例。

package demo.demo93;
//外部类
public class Outer {
	
	static class Inner {
		int a=10;
		static int b=20;
		public void test(){
			System.out.println("内部类test方法");
		}
		public static void static_test(){
			System.out.println("内部类static_test方法");
		}
	}  
}

测试类:

package demo.demo93;

public class Test {

	public static void main(String[] args) {
		//访问内部类的静态属性
		System.out.println(Outer.Inner.b);
		//访问内部类的静态方法
		Outer.Inner.static_test();
		
		//实例化静态外部类
		Outer.Inner inner = new Outer.Inner();
		//访问内部类的实例属性
		System.out.println(inner.a);
		//访问内部类的实例方法
		inner.test();
	}	
}

运行结果:

20
外部类static_test方法
10
外部类test方法

小结

这节总结了“ Java内部类–静态内部类 ”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。

评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  92.Java内部类–成员内部类
►下一篇  94.Java内部类–局部内部类

热门专栏推荐

1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.Javascript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java

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

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

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