码迷,mamicode.com
首页 > 编程语言 > 详细

java.final关键字和权限修饰符

时间:2019-11-25 23:56:55      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:body   局部变量   返回   name   use   nal   --   main   username   

概述

final关键字用于修饰不可改变的内容

final:不可改变。可以用于修饰类、方法和变量

  • 类:被修饰的类不能被继承
  • 方法:被修饰的方法不能被重写
  • 变量:被修饰的变量不能被重新赋值

    修饰类

final class 类名{
}

修饰方法

修饰符 final 返回值类型 方法名(参数列表){
    //方法体
}

修饰变量

1、局部变量--基本类型
基本类型的局部变量,被final修饰后,只能赋值一次,不能再更改

public class Demo01 {??? 
    public static void main(String[] args) {?
        //声明变量,使用final修饰??????? 
        final int a;??????? 
        //第一次赋值??????? 
        a = 10;???????
        //第二次赋值???????
        //a = 20; //报错,不可重新赋值??????? 
        
        //声明变量,直接赋值,使用final修饰??????? 
        final int b = 10;??????? 
        //第二次赋值??????? 
        b = 20;//报错,不可重复赋值??? 
    }
}

2、局部变量--引用类型
引用类型的局部变量,被final修饰后,只能指向一个对象,地址不能再更改,但是不影响对象内部的成员变量值的修改

public class Demo02 {
    public static void main(String[] args) {
        //创建user对象??????? 
        final User u = new User();??????? 
        //创建另一个User对象??????? 
        //u = new User();  // 报错,指向了新对象,地址值改变??????? 
        //调用setName方法??????? 
        u.setName("leesin");??? 
    }
}

3、成员变量
成员变量设计到初始化问题,初始化方式有两种,只能二选一

  • 显示初始化
public class User{
    final String USERNAME = "leesin"
    private int age;
}
  • 构造方法初始化
public class User{
    final String USERNAME;
    private int age;
    public User(String username, int age){
        this.USERNAME = username;
        this.age = age
    }
}

被final修饰的常量名称,一般都有书写规范,所有的字母都大写

权限修饰符

概述

在java中提供了四种访问权限,使用不同的访问权限修饰符修饰时,被修饰的内容会有不同的访问权限
  • public:公共的
  • protected:受保护的
  • default:默认的
  • private:私有的
public protected default(空的) private
同一类中
同一包中(子类与无关类)
不同包的子类
不同包中的无关类

public具有最大权限。private则最小权限
编写代码时,如果没有特殊考虑,建议这样使用权限:

  • 成员变量使用private,隐藏细节
  • 构造方法使用public,方便创建对象
  • 成员方法使用public,方便调用方法

java.final关键字和权限修饰符

标签:body   局部变量   返回   name   use   nal   --   main   username   

原文地址:https://www.cnblogs.com/youngleesin/p/11931566.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!