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

Java入门第二季

一定要注意哦:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。
1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问
2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();

最新回答 / Uestc_L
直接在类里面  static{ }初始化,你是不能运行吗,还是不能得到你想要的grade
public class HelloWorld {
public class Inner {
public void show() {
System.out.println("welcome to imooc!");
}
}

public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
// 创建内部类对象
Inner i = hello.new Inner();
// 调用内部类对象的方法
i.show();
}
}
问:什么是内部类呢?
答:内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。
问:那为什么要将一个类定义在另一个类里面呢?清清爽爽的独立的一个类多好啊!!
答:内部类的主要作用如下:
1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类
2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据
3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便
问:内部类有几种呢?
答:内部类可分为以下几种:
成员内部类
静态内部类
方法内部类
匿名内部类
1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如:
如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。如:
2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量,如下所示:
3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。

已采纳回答 / 伊兮尘昔
你写法的问题吧。一个包里两个类正常啊,如果你在一个类中引用了另一个类,则可以直接new
71015一起战斗过的同学!加油!!

已采纳回答 / 伊兮尘昔
这个是字符串拼接,"Dog [age="这段是字符串,age这个是变量,"]"后面又是字符串
属性和变量是一个意思
通过接口描述两个不同类型对象之间的共同特性,通过接口引用实现它们
其实不理解知道初始化顺序有什么用?实际应用的意义是什么?
不知道程序有没有按执行顺序将代码块重新排版的功能
private属性不能被继承,那private方法呢?
如果子类的属性赋值改变了,对父类有没有影响?反之呢?

最赞回答 / 烟雨谣
实例化需要创建,一般是new出个东西,可以是控件,也可以是某个类(包括子类)。如果某个子类是抽象类,那么它是不能实例化的。如果该抽象类的抽像方法被具体定义了,这个类就具体化了,可以被实例化。
70875!fighting!
课程须知
本课程是Java开发的基础,需要大家:掌握 Java 基本语法的使用。如果您是新手,建议先移步 《Java入门第一季》https://www.imooc.com/learn/85
老师告诉你能学到什么?
• 掌握 Java 编程思路 • 熟练运用面向对象程序设计思想

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消