欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-11 16:48:18
static 关键字:(可用于修饰方法、变量) static 特点: static是静态修饰符,一般修饰成员变量。被static修饰的属于全局共享。被static修饰的成员属于类,(又叫类成员)不属于单个这个类的某个对象。 被static关键字修饰的成员可通过类名.的方式调用。而且,被static修 ......
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修饰的类。