final 不可改变,可以用于修饰类、方法、变量
像 String、Math、Scanner这些类都是被final修饰,目的是供我们呢使用,而不让我们修改。
如果重写final修饰的方法,编译会报错
下面哪个可以通过编译
写法一:
写法二:
写法一会报错, 写法二会通过编译, 因为每次循环, 都是一个新的c
被final修饰的常量名称, 一般字母都大写
构造方法初始化
不同的访问权限修饰符修饰时, 被修饰的内容会有不同的访问权限
将类A定义在另一个类B中,里面的类A就是内部类, B是外部类
在描述事物时, 若一个事物内部还包含其他事物,就可以使用内部类这种结构, 比如Car中包含Engine, Engine就可以使用内部类来描述
匿名内部类: 是内部类的简化写法,它本质是一个 带具体实现的 父类或者父接口的匿名子类对象。开发中, 最常用到的内部类就是匿名内部类
以接口为例,当你使用一个接口时, 似乎需要如下几步:
通常在方法的形参是接口或者抽象的时候, 也可以讲匿名内部类作为参数传递
简化
接口作为成员变量, 对它进行赋值操作, 实际上赋给他该接口的子类的对象
当接口作为方法的参数和返回值类型,传递和返回的都是他的子类对象
原来我们这样做
接口作为方法的参数和返回值类型, 我们这样做