final、权限、内部类

1.final关键字

final代表最后的,最终的

可以用来修饰,类、方法、变量

2、final修饰类

被final修饰的类,不能被继承,太监了(不能有子类)

final不能和abstract共用

3、fianl修饰方法

不能被子类覆盖重写,但是可以重载

4、final修饰局部变量

局部变量(定义参数的位置,方法中的变量,静态代码块)

一旦赋值就不能再赋值,即使赋值相同

5、final修饰成员变量

成员变量在类中方法外;成员变量有默认值

加final需要在构造方法中进行赋值,或者直接赋值

final修饰的静态常量名要大写,多个单词间用_隔开

6、final修饰引用类型变量

变量为引用类型,加上final,只能赋值一次,但可以修改对象的内容

这里写图片描述

7、访问权限修饰符-概述和应用

前提在一个项目中

public 公有的:任何地方都可以进行访问

protected 受保护的:同包可以访问,不同包的子类也可以访问

default空 默认的:同包可以访问

private 私有的:只有本类可以访问

public protected default(空的) private
同一类中
同一包中(子类与无关类)
不同包的子类
不同包中的无关类

可见,public具有最大权限。private则是最小权限。

8、内部类概述及分类

一个类A中定义另一个类B

有了内部类才可以更好面向对象,用类描述事物

public class A{
    public class B{ 
    }
}

9、成员内部类格式

内部类在类中方法外

public class A{
    public class B{
         public void methodB(){
        }
    }
    public void methodA(){
    }
}

使用(创建内部类的对象)

外部类名.内部类名 对象名 = new 外部类名().new 内部类();
A.B 对象名 = new A().new B();
this.变量名;//内部类访问当前类中的成员变量
外部类名.this.变量名;//内部类访问外部类成员变量

10、局部内部类定义及使用

定义在类中方法中

public class 外部类名{
    public void method(){
        public class 内部类名{
        }
    }
}

只能在方法中使用,在开发中很少用

13、匿名内部类及使用方式

匿名内部类必须继承一个父类或者实现一个父接口

为了简化代码

格式

new 抽象类/接口(){
    //覆盖重写抽象方法
}.成员方法名();

开发中会给new的对象赋值一个变量,表示起了一个名字,直接使用变量名.方法名调用重写的方法

开发中,new 接口名再使用alt+enter快捷键快速生成匿名内部类

复习

  • [ ] 描述final修饰的类的特点

    被final修饰的类不能被继承

  • [ ] 描述final修饰的方法的特点

    被final修饰的方法不能被重写,但可以被重载

  • [ ] 能够说出权限修饰符作用范围

    public>protected>空>private

  • [ ] 说出内部类的概念

    被定义在一个类中的类就是内部类

  • [ ] 能够理解引用类型作为成员变量

  • [ ] 能够理解引用类型作为方法参数

  • [ ] 能够理解引用类型作为方法返回值类型

猜你喜欢

转载自blog.csdn.net/qq_38353993/article/details/82113581