19_权限修饰符

Posted bajiaotai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了19_权限修饰符相关的知识,希望对你有一定的参考价值。

技术图片


 

1.继承权限、赋值权限 final

技术图片

 1.1final 定义

技术图片


 

 1.2final 用法

技术图片

 


 

 1.3final 修饰类

技术图片

 


 

 1.4final 修饰方法

技术图片


 

 1.5final 修饰成员变量

技术图片


 

 1.6final 修饰局部变量

技术图片


 

1.7final 代码案例

//final类,不能有任何子类,不能有抽象方法,不能被abstract修饰
final /*abstract*/ class FinalClass {
    int age = 99;

    void method() {
        System.out.println("FinalClass‘s method!");
    }
}

class Fu /*extends FinalClass*/ {
    //final修饰成员变量,当且仅当被初始化一次(直接赋值)
    final int age = 99;
    final String name;

    //final修饰成员变量,(通过构造函数赋值)
    public Fu(String name) {
        this.name = name;
    }
    //被final修饰后的成员变量,不能有setter方法
/*    public void setName(String name) {
        this.name = name;
    }*/

    //final修饰成员方法,该类的子类将无法重写该方法
    final void finalMethod() {
        System.out.println("it‘s finalMethod!");
    }
}

class Zi extends Fu {
    //父类有含参构造,那么子类也必须有含参构造,并且为父类构造赋值super(x)
    public Zi(String name) {
        super(name);
    }

    public void method() {
        //final修饰局部变量(基本数据类型),第一次被赋值后,该变量值将无法被修改
        final int age;
        age = 99;
        /*age = 88;*/
        //final修饰局部变量(引用类型),第一被赋值后,该引用的地址值将不能改变(对象内容是可以改变的)
        final Fu fu = new Fu("");
        /*fu = new Fu("");*/
        System.out.println(age);
    }
    //父类方法被final修饰后,将不能被子类重写
    /*    void finalMethod() {

    }*/

}

 

2.访问权限

2.1 public

技术图片

 


 

 2.2 protected

技术图片

 


 

 2.3 (default)

技术图片

 


 

 2.3 private 

技术图片

 

以上是关于19_权限修饰符的主要内容,如果未能解决你的问题,请参考以下文章

阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第6节 权限修饰符_6_四种权限修饰符

__block修饰符(四)

JavaSE知识-10(面向对象_权限修饰符&匿名内部类)

java 封装和隐藏 权限修饰符

java 封装和隐藏 权限修饰符

权限修饰符