为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第二季

静态内部类是 static 修饰的内部类,这种内部类的特点是:

1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问

2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员

3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
内部类的主要作用如下:

1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据

3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便
非常好,mooc
这老师讲的好啊!!!
老师讲的真的棒

最新回答 / isu_腾飞
在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块当我自己手敲一遍代码后我发现了问题所在    实际情况确实如上描述    同时加了 static  关键字 修饰了的初始化块  比不加static 的初始化块  更先执行   而且  仅执行一次
嘿咻。。。。
静态成员属于整个类所有,而不是某个对象所有,静态成员的访问既可以使用类名,可以使用对象名。
viso,rational rose ,powerdesign
求控制台版的答答出租车系统的代码。jamking@126.com 好人一生平安
简单易懂。。不懂的童鞋,都是没好好听。或者没思考的。。
public static int num=10;
知识点的精髓就那么一点,一点迷精!!!

最赞回答 / yymooc
域的默认初始化分为两种:对于静态域,类在装载时对其进行初始化.对于非静态域,在类的实例创建时进行初始化.在默认的初始化前,域的值是不可预测的.首先“类的实例化”与“类的加载、连接与初始化”完全是两个不同的阶段,只有“类的加载、连接与初始化”都完成了才能进行“类的实例化”。还有一点,静态块里的代码也不是在类被加载时执行,而是在类被初始化时执行的。 类的加载简单说只是把class文件加载到内存,并没有执行任何代码。 希望能帮到你。。。。
课程须知
本课程是Java开发的基础,需要大家:掌握 Java 基本语法的使用。如果您是新手,建议先移步 《Java入门第一季》https://www.imooc.com/learn/85
老师告诉你能学到什么?
• 掌握 Java 编程思路 • 熟练运用面向对象程序设计思想

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消