5月11日黑马java之内部类的概念

(1)成员内部类的定义格式
修饰符 class类名称
{
修饰符 class 内部类名称{
//..........
}
//...........
}
注意内用外,随意访问,外用内 需要内部类对象
(2)如何使用成员内部类?有两种方式
1.间接方法 在外部类的方法中,使用内部类然后main只是调用外部类的方法
2.直接方式:公式:
类名称 对象名 = new 类名称();
【外部类名称。内部类名称 对象名 = new 外部类名称().new内部类名称()】;
(3)内部类的同名变量访问

(4)局部内部类定义
格式:
修饰符 class 外部类名称{
修饰符 返回值类型 外部类方法名称(参数列表)
{
class 局部内部类名称{
//........
}
}
}
注意事项:累的权限修饰符
public>protected>default>private
定义一个类的时候,权限修饰符规则
1.外部类:public/ default
2.成员内部类:public / protected/default/private
3.局部内部类:什么都不写
(5)局部内部类的final问题
局部内部类,如果希望访问所在方法的局部变量,那么这个局部变量必须是【有效的final的】
从java8开始 只要局部变量事实不变,那么final关键字可以省略。
原因
1.new出来的对象在堆内存当中
2.局部变量是跟着方法走的,在栈内存当中
3.方法运行结束之后,立刻出栈,局部变量就会立刻消失
4.但是new出来的对象会在堆当中持续存在,直到垃圾回收消失

posted @ 2020-05-11 17:48  黄小七  阅读(144)  评论(0编辑  收藏  举报