学习
实践
活动
专区
工具
TVP
写文章
  • 广告
    关闭

    2023新春采购节

    领8888元新春采购礼包,抢爆款2核2G云服务器95元/年起,个人开发者加享折上折

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

    Java 抽象final用法

    抽象: 基于继承 抽象和抽象方法的定义 父的意义:  把子类共有的属性,抽取出来,达到代码的重用 抽象不可被实例化 使用抽象,限制实例化(只有派生能实例化,父不能实例化)  关键字:abstract // 3、创建企鹅对象pgn并输出信息 Penguin pgn = new Penguin("楠楠", "Q妹"); pgn.print(); } } final 用法: final修饰属性,方法和 可以修饰:最终版的  不希望再被其他继承 public finla class text{} 可以修饰方法:  方法不希望被重写 public class text{ public final void text1(){} } 可以修饰变量:(常量)最终版的属性值  属性不希望被修改 public class text{ public final int a; } 总结:  抽象和抽象方法:    抽象不能被实例化‘    可以有0~多个抽象方法    非抽象必须重写父的所有抽象方法  final修饰符:

    65670

    关键字DependsOn,Deprecated,Final,GeneratedBy

    第十七章 关键字 - DependsOn指定此类应在编译器使其他(指定的)可运行后编译。 是下列之一:名[ DependsOn = MyApp.Class1 ]用逗号分隔的名列表,用括号括起来。 第十九章 关键字 - Final指定此类是否是最终(不能有子类)。 用法要指定一个是最终,请使用以下语法:Class MyApp.Exam As %Persistent [ Final ] { //class members }否则,省略此关键字或将单词Not放在关键字的前面 详情如果一个是最终,它就不能有子类。此外,如果一个是最终编译器会利用某些代码生成优化(与最终的实例不能多形态使用的事实有关)。默认如果省略此关键字,定义不是最终的。

    9020

    09(01)总结final,多态,抽象,接口

    1:final关键字(掌握) (1)是最终的意思,可以修饰,方法,变量。 (2)特点: A:它修饰的,不能被继承。 B:它修饰的方法,不能被重写。 C:它修饰的变量,是一个常量。 /* final可以修饰,方法,变量 特点: final可以修饰,该类不能被继承。 final可以修饰方法,该方法不能被重写。 常量: A:字面值常量 "hello",10,true B:自定义常量 final int x = 10; */ //final class Fu //无法从最终Fu进行继承 class Fu { public int num = 10; public final int num2 = 20; /* public final void show() { } */ } class Zi 所以,父的功能,就会被子类给覆盖调。 有些时候,我们不想让子类去覆盖掉父的功能,只能让他使用。 这个时候,针对这种情况,Java就提供了一个关键字:final final:最终的意思。

    47250

    final

    final修饰的不可以被继承,但可以继承其他的final修饰的方法,子类可以继承但是不能重写。 子类重写父的非final方法可以加上final。 被final修饰的基本数据类型或者String类型的变量可以看作是常量,赋值后不能改变。 被final修饰的引用数据类型变量的引用内存地址值不能改变,可以改变引用数据类型变量的属性值。 被final修饰的普通成员变量必须在对象创建完成前进行赋值,可以直接赋值,如果没有直接赋值则需要用构造方法进行赋值,如果有多个构造方法则多个构造方法都要为其赋值,但是不能用set方法赋值。 被final修饰的静态成员变量必须要直接赋值或者静态代码块赋值,否则编译不通过。 final修饰的成员变量会在编译阶段赋默认值,final固定的是成员变量的手动赋值不是内存中的默认值。 Q.E.D.

    8910

    在java中String为什么要设计成final

    翻开JDK源码,java.lang.String起手前三行,是这样写的: public final class String implements java.io.Serializable, Comparable 而且用final关键字修饰.*/private final char value[]; ... ...} 首先String是用final关键字修饰,这说明String不可继承。 再看下面,String的主力成员字段value是个char[ ]数组,而且是用final修饰的。final修饰的字段创建以后就不可改变。 有的人以为故事就这样完了,其实没有。 String里的value用final修饰,只是说stack里的这个叫value的引用地址不可变。没有说堆里array本身数据不可变。 看下面这个例子, final int[] value={1,2,3}int[] another={4,5,6};value=another; //编译器报错,final不可变 value用final

    70731

    7.JAVA-继承、覆写、final关键字

    一般子类被称为派生,父称为基(super) extends需要注意的地方: java不允许多重继承(一个只能继承一个父,不能继承多个父)、 派生会继承基所有属性和方法,但不能直接访问基的 3.final关键字 在java中,final被称为终结器, final可以修饰变量,方法和. 3.1 final修饰final修饰时,则表示该类为最终的,也就是说该类不能再有子类了,示例如下 : final class A { // 修饰该类不能有子类 } class B extends A { // 错误的继承 } 3.2 final 修饰方法 当在某个的方法前面定义final时,则表示该方法不允许在子类里进行方法覆写(可以实现方法重载) 示例如下: class A { public final void fun( 修饰变量 当final修饰变量时,则表示该变量为常量(类似C++中const).示例如下: public static final String LICENSE = "GPL";

    39620

    final关键字可以应用于、方法以及变量

    final声明变量   final声明变量可以保证在构造器函数返回之前,这个变量的值已经被设置。详细可以看final声明的重排序规则。 final不能用于修饰构造方法。使用final方法的原因有二:   第一、把方法锁定,防止任何继承修改它的意义和实现。   第二、高效。 final声明   final声明的不可以被继承,final中的方法默认是final的。但是成员变量却不一定是final的,必须额外给成员变量声明为final。 注意:一个不能同时被abstract和final声明。   在设计时候,如果这个不需要有子类,的实现细节不允许改变,并且确信这个不会被扩展,那么就设计为final。 比如Java中有许多final的,譬如String, Interger以及其他包装

    12100

    final关键字、多态、抽象、接口的小复习

    --------------------------------------- 1:final关键字可以干什么?有什么特点?   最终的意思。可以修饰,方法,变量。      --------------------------------------- 2:final关键字的面试题? A:修饰局部变量     基本类型:值不能改变。      B:抽象中不一定有抽象方法,但是有抽象方法的一定是抽象。     C:抽象不能被实例化。     D:抽象的子类:       a:是抽象。        如果一个中有了一个抽象方法,那么这个必须声明为抽象,否则编译通不过。 意义:就是不让其他创建本类对象,而是交给子类完成,防止乱用。 B:abstract不能和哪些关键字共存:     final 冲突     private 冲突     static 无意义 --------------------------

    37720

    JAVA面试50讲之8:谈谈接口和final的区别

    我们先看看抽象、接口各自的特性。 抽象 抽象是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超。抽象是被用来创建继承层级里子类的模板。 它根本不存在方法的实现 实现 子类使用extends关键字来继承抽象。如果子类不是抽象的话,它需要提供抽象中所有声明的方法的实现。 子类使用关键字implements来实现接口。 它需要提供接口中所有声明的方法的实现 构造器 抽象可以有构造器 接口不能有构造器 与正常Java的区别 除了你不能实例化抽象之外,它和普通Java没有任何区别 接口是完全不同的类型 访问修饰符 什么时候使用抽象和接口 如果你拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象吧。 如果你想实现多重继承,那么你必须使用接口。 由于Java不支持多继承,子类不能够继承多个,但可以实现多个接口。因此你就可以使用接口来解决它。 如果基本功能在不断改变,那么就需要使用抽象

    44320

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 微瓴物联网类操作系统

      微瓴物联网类操作系统

      腾讯智慧建筑管理平台(微瓴)是深度适配智慧建筑场景的物联网类操作系统,针对于建筑内的硬件、应用等资源,提供物联、管理与数字服务,赋予建筑综合协同的智慧能力,并为建筑管理运营者与建筑业主方提供安全、高效、便利的建筑综合管理运营系统……

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券