展开

关键词

详解 final

当被问到 final ,我们通常会随口而出以下3句话:被 final 的变量被赋初始值后,不能再重新赋值被 final 的方法不能被重写被 final 的类不能被继承仅记住这些口诀是不够的 ,本文将对 final 的这些功能进行分析1. final 变量的功能(1) 被 final 的变量被赋初始值后,不能再重新赋值被 final 的实例变量必须显示的指定初始值,而且只能在以下 ,其实非final的局部变量也需要显示的赋初始值,只不过被final的局部变量被赋值后就不能重新赋值了。 即使是普通内部类,在其中访问局部变量,该局部变量都需要显式的或者隐式的(Java8之后)用final需要注意的是,我们说内部类访问局部变量,需要给该变量加final,这里的内部类指的是局部内部类 ,那么将引起极大的混乱,因此,Java编译器要求,所有被内部类访问的局部变量必须使用final

25640

JavaSE(三)之static、final、abstract

一、static 1.1、static变量        在类中,使用static的成员变量,就是静态变量,反之为非静态变量。          2.1、类        用final的类不能被继承,没有子类。         、方法        用final的方法可以被继承,但是不能被子类的重写。         8 s = new Student();三、abstractabstract可以用来方法也可以类,如果方法,那么该方法就是抽象方法;如果类,那么该类就是抽象类。    声明方法的时候,加上abstract,并且去掉方法的大口号,同时结尾加上分号,该方法就是抽象方法。

29050
  • 广告
    关闭

    11.11智惠云集

    2核4G云服务器首年70元,还有多款热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    java中的final和static

    参考链接: Java中的可访问和非访问1.final 类时表明该类不能被继承,自然类中的方法默认是final型的。 2.final 方法时不允许被子类覆盖,也就是可以被继承。 Final类中的成员变量只要没有添加final都可以照常操作。 这句话翻译过来应该是如果final的变量一旦被赋值,则不允许改变。如果final的变量是对某对象的引用,则该变量会一直指向对象,但是该对象的状态可以改变。 换句话说如果final的是int ,double,byte,char等基本数据类型,一旦赋值不可改变。 如果final变量指向对象,则对象中的成员变量可以改变,只不过final在这里的作用就好像把变量当成了一个标签贴在了特定的盒子上,至于盒子里的内容不管,可是如果你想把标签撕下贴到其他同类型的盒子上,

    11800

    Java Review (十二、面向对象----final )

    final关键宇可用于类、方法和变量,被它的类、方法和变量不可改变。final变量final 成员变量成员变量是随类初始化或对象初始化而初始化的 。 因此:Java语法规定 final 的成员变量必须由程序员显式地指定初始值。 用final的方法的行为在继承期间保持不变,而且不可被重写。 finalfinal 的类不可被继承。 使用 private 和 final 该类的成员变量。提供带参数构造器,用于根据传入参数来初始化类里的成员变量 。

    13840

    【Java_10】final 关键字、权限、内部类

    一、final 关键字1. final 用于不可改变的内容① 类,被的类不能被继承。② 方法,被的方法不能被重写。③ 变量,被的变量不能重新赋值。 2. final 的使用① 类 * final class 类名{ ··· }② 方法 * final 返回值类型 方法名( 参数列表 ) { ··· }③ 变量 * final 数据类型 变量名;二、权限| | 同一个类中 | 同一个包中 | 不同包的子类 | 不同包的无关类 | | public | ✓ | ✓ | ✓ | ✓ | | protected | ✓ | ✓ | ✓ 局部内部类① 格式 class 类名 { 返回值类型 方法名( 参数列表 ) { class 类名 { 局部内部类 ··· } } }② 注意 * 局部内部类定义在方法中 * 局部内部类访问的局部变量必须是 【有效final】# java 8+ 若变量不改变,final 可以省略 # * 局部内部内在堆中,局部变量在栈中,方法出栈后,局部变量消失,局部内部类等待 JVM 回收3.

    9430

    java final 变量_final关键字变量

    参考链接: Java final关键字Java中被final的变量为常量,它只能被赋值一次,也就是说final的变量一旦被赋值,其值不能改变。如果再次对该变量进行赋值,则程序会在编译时报错。 这是因为使用final关键字成员变量时,虚拟机不会对其进行初始化。 因此使用final成员变量时,需要在定义变量的同时赋予一个初始值,下面将第2行代码改为:final String name=小海绵; 为final 关键字的name 属性赋值 运行结果:我是一名学生

    10320

    局部变量final

    checkstyle ,自动执行规范检查,加入到ci步骤里面,让流程工具化,工具自动化,摆脱人工检查,在团队开发中硬性统一,更便于协作顺畅checkstyle里面有个规范:所有local variable必须final这是为什么呢? final是Java中的一个保留关键字,它可以标记在成员变量、方法、类以及本地变量上。一旦我们将某个对象声明为了final的,那么我们将不能再改变这个对象的引用了。 如果我们尝试将被final的对象重新赋值,编译器就会报错这么简单的一个关键字,怎么需要强制一个局部变量局部变量class文件public static void main(String); Code

    23810

    PHP 编码规范

    PHP 编码规范。关键字必须小写 true, false, null。 类类的 属性 和 方法 必须添加访问(private、protected 以及 public), abstract 以及 final 必须声明在访问之前,而 static 必须声明在访问之后 如果 return 语句之前只有一行 PHP 代码,return 语句之前不需要空行。如果 return 语句之前有至少有两行 PHP 代码,return 语句之前加一个空行。

    39930

    话说const与static

    但是C由于类型的把控不是非常严格,我们依旧可以变相的去更改它,譬如:int *p = &a; *p = 20; 但是C++中类型的把控是非常严格的,无论如何,妄图改const的变量都是无意义的。 staticstatic在c中的用法如下:1、如果的是局部变量,则他的生命周期会是整个程序运行开始到结束,并不会因为作用域等因素动态去释放。 2、如果的是全局变量、全局函数等,则表示内部链接类型,只能本文件可见,其他文件不可见。2 C++中的const: const类成员数据和普通变量一样,被const之后为常量(只读)不可改。 看例子:class A{public: A( ) : _value(100) {}private: const int _value;};const类成员函数只需记住一句话,用const的成员函数, 承诺不会改类内数据成员,那自然也不会在函数内部调用其他非const函数。

    29210

    通俗易懂PHP基础【10-类和对象(2)】

    在实际的编码中,总会有一些属性(如一些密码属性等)或者方法不宜对外公开,所以学会使用来控制你自定义类中的属性和方法是很有必要的。 PHP中控制访问权限的主要包括public、private和protect这3种,如果不加任何就对类体中的属性或方法进行,则默认为public。 下面是三个能访问的权限介绍:public使用public的属性或方法,则属性和方法是类的公有成员,公有的成员属性或者方法在类体内和类体外都可以被调用。 父类中的属性或方法要不想被子类继承重载的话,就要使用 final关键字。如果父类中有 final 关键字的属性或方法,则子类不能重载父类中的属性或者方法。 我们来 see see 实例: 运行上面代码将出现以下报错信息: 不能重final 的方法 drink()Fatal error: Cannot override final method Father

    15410

    Python (一)—— 函数

    今天被问到Python函数,顺手写写。Python函数,“@”,与其说是函数倒不如说是引用、调用它的函数。 但是,Python解释器读到函数“@”的时候,后面步骤会是这样了:1. 去调用 test函数,test函数的入口参数就是那个叫“func”的函数;2. test函数被执行,入口参数的(也就是func函数)会被调用(执行);换言之,带的那个函数的入口参数,就是下面的那个整个的函数 函数先定义,再它;反之会编译器不认识;2. “@”后面必须是之前定义的某一个函数;3. 每个函数可以有多个

    42610

    java

    Java语言提供了很多,主要分为以下两类访问,非访问用来定义类,方法或者变量,通常房子语句的最前端访问控制Java中,可以使用访问控制来保护对类,变量,方法和构造方法的访问 default,即缺省,什么也不写,在同一包内可见,不使用任何,使用对象,类,接口,变量,方法。 private,在同一类内可见,使用对象,变量,方法,注意不能类public,对所有类可见,使用对象,类,接口,变量,方法protected使用默认访问声明的变量和方法,对同一个包内的类是可见的

    24930

    C#

    声明类的顺序:访问+类 +class+类名{    成员+ 成员类型 +成员名称;}C#中类及类型成员权限访问有以下四类:public,private,protected,internal public        类及类型成员的internal    类及类型成员的private   类型成员的protected   类型成员的 由以上可以说明,类的前面关键字只有 、virtual、override、readonly、const特别说明:除了权限外还有四个sealed,abstract,virtual,partial(这四个可以和上面五个权限组合一起用 .写在权限前面或后面都行)本文参考:http:leefinechan.blog.163.comblogstatic140459503201028114025853 访问 说明 public 只限于本项目或是子类访问,其他不能访问 C#成员类型的可及默认如下表: 成员类型 默认 可被 enum public none class private public、protected

    40020

    java

    java中的分为两大类:权限和状态1.权限? 2.状态 final final基本数据类型时,其数据值不能发生改变,变成了常量 final引用数据类型时,其地址值不能发生改变,内容可改变 static 被类的所有对象所共享的用static ,这也是是否使用static关键字的条件 可以通过类名调用,也可以通过对象名调用,建议使用类名调用 static的访问特点: 非静态的成员方法可以访问静态的成员方法和变量,也可以访问非静态的成员方法和变量

    12520

    Java

    访问非访问访问控制四个 访问控制定义类、变量、方法的访问权限。 Java支持4种访问控制:public, protected, default, private.public:类、接口、方法、变量,所的对象对所有类可见。 (详情见Java protected 关键字详解)default:类、接口、方法、变量,当缺省访问控制时默认为default,所的对象在同一包内可见。 Demo1.java** * @author: 毛利 *public class Demo1 { static ,非访问,静态变量;final,非访问,使变量不可变,结合static就成了常量 ,什么叫静态呢?

    25820

    Vue

    Vue提供了一些,这些在使用起来非常方便,比如阻止默认事件、冒泡等。. lazy:v-modeil不用多说,输入框改变,这个数据就会改变,lazy这个会在光标离开input框才会更新数据: .trim:输入框过滤首尾的空格: .number:先输入数字就会限制输入只能是数字 ,先字串就相当于没有加number,注意,不是输入框不能输入字串,是这个数据是数字: .stop:阻止事件冒泡,相当于调用了event.stopPropagation()方法。 exact:系统键,只有按着这个键然后用鼠标点击才会触发,官网解释: A A A但是我试了一下没有用。.sync对prop进行双向绑定,个人暂时用不习惯:父组件 子组件this.

    13420

    PSR0-PSR4

    https:github.comPizzaLiuPHP-FIGPSR(Proposing a Standards Recommondation 建议重新订标准), 即PHP编码规范,目前PSR更新为2016.5.26 PSR(Proposing a Standards Recommendation),PHP编码规范:PHP代码必须使用标签:标签;行的长度一定不能有硬性的约束;【80/120】;非空行后一定不能有多余空格字 必须在namespace后声明,use声明语句块后必须要有一个空白行;关键词extends、implements必须写在类名称同一行;类开始和结束花括号必须在类代码中独占一行;每个属性和方法必须添加访问 ;方法名称后一定不能有空格,其开始花括号和结束号必须独占一行;参数左、右括号前一定不能有空格;参数列表中每个逗号后必须有一个空格,而逗号前一定不能有空格,有默认值的参数一定放到参数末尾;类的属性和方法必须添加访问 (private、protected以及public),abstract以及final必须声明在访问之前,而static必须声明在访问之后;本文制定了日志类库的通用接口规,是为了让日志类库以简单通用的方式

    12720

    关于STM32库中 __IO (volatile

    STM32例子代码中会有像这样的代码 static __IO uint32_t TimingDelay; 这里边的__IO不好理解,单从字面可以看出是为IO相关,查其标准库可以得知这个__IO原来是在

    64130

    php面试笔记(9)-php基础知识-面向对象考点

    01回顾真题请写出 PHP 类权限控制答案:public:公有类型在类、子类、外部都可以访问protected:受保护类型在类、子类可以访问private:私有类型只要在子类可以访问02考点分析02 -1面向对象内容本考点主要是考察php中类中的权限控制,以及面及向对象的特性、魔术方法、设计模式等考点1继承继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。 在php中类是单一继承,即一个类只能继承一个父类。 2方法重写子类在继承了父类后,可以重写父类的方法,即写一个与父类重名的方法将其覆盖。final的类方法不可被子类重写。 要实现一个接口,使用 implements 操作。类中必须实现接口中定义的所有方法,否则会报一个致命错误。类可以实现多个接口,用逗号来分隔多个接口的名称。

    17220

    关闭Idea自动生成变量时添加的final

    后来偶然尝试知道了如何关闭这个功能——就是在下次生成变量时,注意变量上方弹出的Tip(提示信息),上面勾选了Declare final选项。 如果点选完弹出的选项,直接用鼠标点到其他位置,是不能触发选项配置改动作的,下次自动生成变量还会带上final。此时新的配置就应用上了。下次再自动生成变量就不会添加final。如下图所示: ?

    59930

    相关产品

    • Serverless HTTP 服务

      Serverless HTTP 服务

      Serverless HTTP 基于腾讯云 API 网关平台,为互联网业务提供 0 配置、高可用、弹性扩展的对外 RESTful API 能力,支持 swagger/ openAPI 等协议。便于客户快速上线业务逻辑,通过规范的 API 支持内外系统的集成和连接。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注云+社区

      领取腾讯云代金券