• 介绍static,final,抽象类以及接口的相关内容


                     今天了解一下java中的static关键字和final关键字,以及接口相关的内容。

                     static关键字即静态的,可以满足两方面的需要:1.只想为特定域分配单一的存储空间,不考虑究竟创建多少个对象,甚至根本就不用创建任何对象;2.希望某个方法不与包含它的类的任何对象关联在一起。static可以修饰域变量也可以修饰方法。用static修饰的域变量,仅仅在类加载时进行初始化,且只执行一次初始化即只有一个副本。它被保存在类的内存的公共存储单元中,可以通过“类名.域名”访问,也可以通过对象引用访问。用static修饰的方法,属于类方法,不属于类的任何对象,在首次访问某类的静态字段或静态方法时,会加载该类,并执行静态初始化语句。需要注意,静态方法只能访问类中的静态域和方法,如果想访问非静态成员需要通过对象。

                          final关键字表示它修饰的类,方法或变量不可被改变。在对常量进行定义时,必须对其赋值,变量的值一旦初始化后,就不能被改变。如果final变量是引用类型的变量,那么代表不能改变这个变量的引用,一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象,但是可以改变这个变量所引用的对象的属性。关于命名:如果在编译的时候,就可以确定final变量的值,此变量的名字应该都大写,如果final变量无法在编译的时候就获得值,而必须在执行的时候才能得到值,使用大小写结合的命名方式。final类:这样的类不可以被继承。

                    抽象类:在编写一个对象的时候,将一类事物的共同特征抽象出来,编写一个框架类。在这个类中,会对一些方法进行定义,但是并不具体实现,而是将这些方法的实现放到子类中,不同的子类可以用不同的方式实现这些方法,增强了类设计的灵活性。这个时候类的定义为abstract,没有实现的方法也声明为abstract。如果一个类中定义了一个或多个抽象方法,那么这个类必须限定为抽象类,但是抽象类里面并非一定要有抽象方法。

                    接口:即interface关键字,因为interface关键字产生了一个完全的抽象类---接口。java中不支持多重继承,即一个类只能有一个父类,即使是抽象类,单继承使得程序简单且易于管理,但是有一定的局限性,接口可以很好地解决单继承的缺点,一个类可以实现多个接口。在接口中可以定义常量,但是不能有变量,接口的成员属性都会被自动加上public,static和final,而对于接口中的方法,也会自动将它设置为public,接口中的方法只需要声明,不需要方法体。未实现的方法也不需要加abstract关键字。在子类中要用关键字implements来实现接口。接口也可以从父类中派生,也是使用extends,但在接口的继承中,可以继承多个接口。

  • 相关阅读:
    我把问烂了的⭐MySQL⭐面试题总结了一下(带答案,万字总结,精心打磨,建议收藏)
    在高并发情况下我是这样解决单用户超领优惠券问题
    js 数组去重十几种解法,基础知识扎实吗?(附数组方法)
    Jackson 解析 JSON 详细教程
    解锁各种js数组骚操作,总有你想要的!
    JS 异步编程的 5 种解决方案
    YARN 架构设计 和 RPC 网络通信
    基于消息队列构建实时大数据日志分析系统_没用
    Java:List转Map (用stream实现)
    Java时间格式:yyyymmdd转换为yyyy年mm月dd日
  • 原文地址:https://www.cnblogs.com/Wangjiaq/p/8569089.html
Copyright © 2020-2023  润新知