JAVA学习第11天

面向对象的三大修饰符

1.final

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

使用范围:变量,方法,类

最终类:

        概念:使用final修饰的类

        特征:不能被其他类继承

        语法:

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

}

常量:

        概念:使用final修饰的变量

        特征:不能被修改

        局部变量:

        语法

                final 数据类型 变量名 = 值;

                注意:可以将声明与赋值分开,但是只能赋值一次.

        成员变量(属性)

        语法:

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

                注意:使用final修饰属性时,必须设置默认值

方法:

        概念:使用final修饰方法

        特征:不能被重写

        语法:

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

                                方法体;

}

2.abstract

含义:抽象的

适用范围:类,方法

抽象类:

        概念:使用abstract修饰的类

        特征:不能直接创建对象

        语法:

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

}

抽象方法

        概念:使用abstract修饰的方法

        特征:不能使用方法块

        语法:

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

注意:

        1.有抽象方法的,一是抽象类,抽象类不一定有抽象方法

        2.子类继承于抽象类,要么自己是抽象类,要么重新创建父类的抽象方法

3.static

概念:静态的,共有的

适用范围:方法,变量(属性),代码块,内部类

修饰成员变量:

        概念:静态变量;

        特征:1.static修饰的属性属于该类的所有对象共有的

                2.可以使用类名调用,也可以使用对象调用

        语法:

                访问权限修饰符 static 数据类型 属性名;

修饰方法

        概念:静态方法

        特征:可以使用类名调用,也可以使用对象调用

        语法:

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

                        方法体;

}

注意:

        1.静态方法中可以直接使用静态成员(静态属性,静态方法),不能直接使用非静态方法或属性

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

修饰代码块:

        概念:静态代码块

        特点:在当前类被加载时执行一次

        语法:

                stasic{

}

        定义位置:类中方法外

        注意:一个类只会被加载一次

代码块

        语法:
                {
                        }
        定义位置:
        1,类中方法以外
        2,方法中
         注意:一般情况在方法中单独定义代码块 , 意义不大 . 所以代码块一般在类中方法以外定义
调用时机 :
        由JVM 调用
        创建该类对象时, 在构造函数之前执

类的加载时机

1, 首次创建该类对象时
2, 未创建该类对象 , 但是首次创建其子类对象时
3, 使用类名第一次调用该类中的静态属性或静态方式时
4, 获取该类的类对象 . 使用反射技术对该类进行操作时 ( 后期讲反射时说 )

静态与非静态的区别(*)

静态属性与非静态属性的区别:

        静态属性:

                1.属于该类的所有对象

                2.可以用类名调用,也可以使用对象调用

                3.随着类的生成而生成,随着类的销毁而销毁

       非静态属性

                1.属于该类对象

                2.只能使用对象名调用

                3.随着对象的生成而生成,随着对象的销毁而销毁

静态方法与非静态方法
        静态方法:
                1,可以类名直接调用, 也可以使用对象名调用
                2,方法体中不能直接使用非静态成员( 静态方法与静态属性 )
                3,不能使用this super 关键字
        非静态方法:
                1,只能使用对象名调用
                2,方法体中能直接使用非静态成员( 静态方法与静态属性 )
                3,能使用this super 关键字
静态代码块与非静态代码块
        静态代码块
                类加载时调用
非静态代码块
                创建该类对象时被调用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值