内部类、static关键字、final

本文详细介绍了Java编程中的内部类,包括成员内部类、局部内部类、匿名内部类及其使用方式。同时,阐述了static关键字的作用,如类变量、类加载顺序以及静态方法的特点。最后,讨论了final关键字的用法,包括修饰类、方法和变量的影响,强调了final变量的赋值规则。这些概念对于理解和编写高质量的Java代码至关重要。
摘要由CSDN通过智能技术生成

一、内部类:

一.内部类
1.内部类的概念:
a.在一个类的内部书写另一个类。
b.将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。

2.内部类的分类:
a.同级类:
严格意义来讲不算内部类,只不过是在同一个.java中定义多个类。
b.成员内部类:
在一个类类体中定义另一个类,将定义类的当做是类的成员。
c.局部内部类:
在一个类的方法中定义一个类。
d.匿名内部类:
创建具有实现方法的无名称的类。

3、成员内部类:
a.书写在类体中的类称为成员内部类(将类的声明创建当做是当前类的成员属性)
b.书写在类体中的类称之为内部类,书写了内部类的类称之为外部类
c.使用格式:内部类书写在外部类中,所以在使用内部类时。需要通过外部类进行使用。
如:外部类名.内部类名 对象名 = new 外部类型().new 内部类型();
 

二、static关键字:

1.static关键字概念:
被static修饰的变量称之为类变量,该变量为当前类下所有对象公用,无需创建对象,可以直接通过类名.属性进行使用。
2.JVM的类加载顺序:
static声明的静态资源 > new > 构造方法constructor
3.特点:
(1)static声明的资源只能被初始化一次;
(2)修饰变量,称为静态变量,局部变量(如方法中的变量)不能被static 修饰,因为static就有全局的意思;
(3)修饰方法,称为静态方法,静态方法只能调用其他静态资源,不能调用非静态变量,不能应用this和super,因为静态资源的加载先于实例化;
(4)被static修饰的变量和方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被该类的所有实例共享
(5)修饰内部类(静态类),外部类不需要实例化,可以直接通过外部类名调用

三、final关键字:
1.final概述:
final:最终的、不可修改的。用于修改不同的位置实现不同的功能,主要修饰类、方法和变量。

2.final的书写和使用:
a.修饰类:在类关键字class之前 书写final关键字 修饰当前类,使当前类变为最终的类(不能继承)
格式: final class 类名 {
}
b.修饰方法:如果方法使用final修饰 代表这个方法为最终方法 不允许被修改(可以被继承不能被重写)
格式: 修饰符 final 返回值类型 方法名(参数列表){
//方法体
}
注意:重写被final修饰的方法,编译时就会报错!
c.修饰变量:变量保存的是地址,被final修饰的变量称之为常量(变量保存的地址不能修改)
3.总结:
(1)final关键字代表最终的,用于修饰类、方法、变量。
(2)被final修饰的类无法被继承,被final修饰的方法,可以被继承不能被重写,被final修饰的变量称之为自定义常量,只能被赋值一次。
(3)如果修饰的局部变量,可以只声明不赋值,但是在使用时必须进行赋值且只能赋值一次。
(4)如果修饰的是全局变量,在声明时必须赋值,因为如果不进行赋值在进行创建对象时可能会使用默认值赋值,导致属性无意义。
(5)如果修饰的是引用数据类型,变量保存的是地址,地址不能修改,但是对象属性的地址可以修改。
(6)被final修饰的变量,标识符一般使用大写字母进行命名,多个单词组成使用_连接。
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值