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修饰的类。
 
posted @ 2019-12-20 12:52  筱荣  阅读(616)  评论(0编辑  收藏  举报