JAVA初学笔记9

本文详细解析了Java编程中的三大修饰符(static、final、abstract)及其应用场景。static修饰符用于创建静态属性和方法,它们在类加载时初始化并可被所有对象共享。final用于标识不变量,确保变量一旦赋值就不能更改。abstract则用于定义抽象类和方法,抽象类不能实例化,其抽象方法没有实现。同时,文章探讨了类加载过程、对象创建步骤以及常量和接口的概念。
摘要由CSDN通过智能技术生成

三大修饰符

代码块

        作用:封装一段代码

        语法:

                {}

        定义位置:

                1,方法中

                        注意:此时不会影响代码的运行,定义相当于没定义

                2,类中,方法以外

                        注意:

                                1,此时每次创建该类对象时,就会执行该代码块中的代码

                                2,该代码块在构造函数前执行

                                3,在对象的属性赋初始值之后

static

        含义:静态

        可以修饰:

                属性

                        含义:公共的(使用static修饰符属性属于该类的所有对象,如果其中一个对其进行修                                    改,那么该类的所有对象的该属性都将被修改)

                        使用方式:

                                对象名.属性名/类名.属性名

                注意:

                        static修饰的属性不管该类有多少个对象,该属性只有一个

                方法

                        含义:静态方法

                        使用方法:

                                对象名.方法名(实参列表);

                                类名.方法名(实参列表);

                注意:

                                1,静态方法中不能直接使用非静态成员(没有使用static修饰的属性或方法)

                                2,静态方法中不能使用this或super关键字

                代码块

                                调用时机:JVM加载该类时调用

                                由于一个类只会被加载一次,所以该代码块只会被执行一次

                                语法:

                                        static{

                                        }

                内部类

类加载

        总结:使用该类时

        如:

                使用类名调用静态属性或静态方法

                创建该类对象

                创建其子类对象

                获取类对象时

在静态下对象的创建过程

        没有继承关系

                1,加载该类

                2,给静态属性赋初始值

                3,执行静态代码块中的代码

                4,在堆内存中开辟空间

                5,给非静态属性赋初始值

                6,执行代码块中的代码

                7,执行构造函数

                8,赋值给栈用的引用

                总结:先静,再非静态

final

        含义:最终的,不可修改的

        可以修饰:

                类

                        语法:

                                访问权限修饰符 final class 类名{

                                }

                        特点:使用final修饰的类不能被别的类继承

                属性

                        语法:

                                访问权限修饰符 final 数据类型 变量名 = 值;

                        特点:

                                final修饰的属性必须在声明时赋值

                                值不能被修改

                方法

                        语法:

                                访问权限修饰符 final 返回值类型 方法名(形参列表){

                                }

                        特点:

                                final修饰得方法不能被重写

                局部变量

                        语法:

                                final 数据类型 变量名;

                        注意:

                                final修饰的局部变量只能赋值一次

常量

        概念:不能被修改的变量或值称为常量

abstract

        含义:抽象的

        可以修饰

                类

                        特点:不能直接创建对象

                        语法:

                                访问权限修饰符 abstract class 类名{

                                        属性

                                        放法

                                        构造函数

                                        代码块

                                        静态代码块

                                }

                方法

                        特点:没有方法体

                        语法:

                                访问权限修饰符 abstract 返回值类型 方法名(形参列表);

                        注意:

                                有抽象方法的类一定是抽象类

                                抽象类中不一定有抽象方法

                                子类继承与抽象类要么重写父类所有抽象方法,要么自己也是抽象类

abstract能否与static一起使用?

        不能一起使用

abstract能否与final一起使用?

        不能一起使用

static能否与final一起使用?

        可以一起修饰属性,方法

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值