final,static,内部类总结

                              #**final** 

关于关键字final的使用方面
1,概述:关键字 最终的
2,使用:可以修饰类,方法,局部变量,成员变量
关于final修饰一个类
格式:public final class 类名
特点:被final修饰的类不能被继承
关于final修饰一个方法
格式:修饰符 final 返回值类型 方法名(参数){
方法体
返回值
}
特点:被final修饰的方法不能被重写
关于final修饰成员变量
格式
final 数据类型 变量名
特点:被final修饰的成员变量不能被二次赋值,必须初始化。
注意
1,要不手动赋值
2,要不就利用所有的构造方法初始化
关于final修饰的局部变量
格式:final 数据类型 变量名 = 值
特点:被final修饰的局部变量一旦被初始化,那么不能二次赋值
关于final修饰一个对象
格式:final 类名 对象名 = new 类名
特点:被final修饰的对象名,地址值不能改变,但是对象中的属性可以改变

                              #**static的用法**

关于static的用法
1,被static修饰的成员属于类,不属于对象
2,被static修饰的成员优于对象的存在
3,被static修饰的成员可以作为共享数据(根据static所在的类创建出来的对象都可以共享这个static的成员)
关于static修饰的方法
访问
1,new对象,调用
2,类名直接调用–>推荐使用(通过使用方式)
关于访问静态方法的全面知识
<1>静态的不能直接访问非静态的。(静态的属于类,非静态的属于对象,类一旦加载,那么静态的就会跟着类直接进内存,是优于对象存在的)
使用:创建对象,再调用非静态的
<2>静态的能直接访问静态的
同类
——直接调用
——创建对象调用
——类名直接调用
不同类
——创建对象调用
——类名直接调用
<3>非静态的能直接访问静态的
同类
——直接调用
——创建对象调用
——类名直接调用
不同类
——创建对象调用
——类名直接调用
总结
<1>只要是静态的的要访问非静态的:new对象,调用
<2>只要是访问静态的:类名直接调用(通用)
扩展(静态代码块)
静态代码块:static{
代码
}
注意
1,优先于构造方法执行
2,只执行一次
使用场景
当我们初始化变量的时候,只要求我们初始化一次,可用供后面的使用
static{
登录
连接
}

                             #**内部类**

成员内部类
1,概述:类中类
2,格式
class A{
class B{
}
}
类A对于类B来说,叫外部类
B类就是A的内部类
3,注意
——内部类可以直接使用外部类的成员
——外部类不能直接使用内部类的成员
要想使用
1,先创建外部类的对象
2,根据外部类的对象去创建内部类的对象
3,调用内部类的成员
格式
外部类名.内部类名 对象名 = new 外部类型().new 内部类型
匿名内部类:利用一个格式,4合1
new 父类/接口(){
重写方法
}.重写方法;

类名 对象名 = new 类名(){
重写方法;
}
对象名.重写方法
注意:即使我们利用匿名内部类new的抽象类或者接口,指向的是子类或者实现类对象
使用场景:如果一个抽象或者一个接口中的方法只调用一次,我们就没必要去单独的创建子类,实现类(一般用于抽象类和接口)
注意接口作为方法的参数和返回值:传递和返回的都是实现类对象
普通类作为方法的参数和返回值:传递的是地址值

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值