static关键、内部类、final、权限修饰符的作用范围

static 关键字:(可用于修饰方法、变量)

    static 特点:

        static是静态修饰符,一般修饰成员变量。被static修饰的属于全局共享。被static修饰的成员属于类,(又叫类成员)不属于单个这个类的某个对象。

        被static关键字修饰的成员可通过类名.的方式调用。而且,被static修饰的成员是随着类的加载而加载的。

        格式:

            类名.成员变量

            类名.成员方法

    静态代码块:

            优先于构造方法执行,并且只执行一次。随着类的加载而加载。一般可用于给静态变量赋值,用来给类进行初始化。

    格式:

            static{代码块}

 

内部类:

        什么是内部类?

                写在其他类的内部的类,就叫内部类。

        什么时候使用内部类?

                当在描述一类事物的时候,若该类事物内部还存在其他事物,就定义内部类。

        内部类的分类:

                分为成员内部类和局部内部类。

                        成员内部类格式:

                                class 类名{

                                        class 类名{

 

                                        }

                                        main{}

                                }

                访问方式为:外部类名.内部类名 变量名 = new 外部类名().new 内部类名();

                        局部内部类格式:

                                class 类名{

                                        public void show(){

                                                class 类名{

                                                        //其他代码

                                                }

                                        }

                                }

                访问方式为:需要在方法内部创建内部类对象。

 

        匿名内部类:

                定义匿名内部类的两个含义:

                        临时定义某一指定类型的子类

                        定义后即刻创建刚刚定义的这个子类的对象

   作用:

           匿名内部类是创建某个类型子类型的快捷方式。

        定义匿名内部类的使用格式:

new 父类或接口(){

        //进行方法重写

};

        final 常量:

                final表示最终的意思,被赋值后不可改变。可以用来修饰类、成员以及局部变量。

                被final修饰的类或方法,不可以被继承或重写。

                引用类型被final修饰后,是地址值不可以被改变,值还可以改变。

       权限修饰符的作用范围:

                四种包的访问权限修饰符:public 、 protected 、 default 、 private

                public 权限最大,private权限最小。

                                        public     protected    default    private

同一类中                          true   true        true         true

同一包中(子类与无关类)  true        true             true

不同包的子类                   true        true

不同包中的无关类            true

 

     归纳:

            要想仅能在本类中访问使用private修饰;

            要想本包中的类都可以访问不加修饰符即可;

            要想本包中的类与其他包中的子类可以访问使用protected修饰

            要想所有包中的所有类都可以访问使用public修饰。

            注意:如果类用public修饰,则类名必须与文件名相同。一个文件中只能有一个public修饰的类。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值