zoukankan      html  css  js  c++  java
  • final static 关键字

    final的意思是最终,修饰类的时候不能被继承,类的成员不能被修改

    final修饰类不可以被继承,但是可以继承其他类。

    错误示范:

    public class Yy {}
    public final class Fu extends Yy{} //可以继承Yy类
    public class Zi extends Fu{} //不能继承Fu类
    

      

    final修饰的方法不可以被子类重写,但父类中没有被final修饰方法,子类重写后可以加final。

    public class Fu {	
    	// final修饰的方法,不可以被覆盖,但可以继承使用
    public final void method1(){}
    public void method2(){}
    }
    class Zi extends Fu {
    	//重写method2方法
    	public final void method2(){}
    }
    

      

    final修饰的变量称为常量,这些变量只能赋值一次。而且终身不变(包括成员变量和局部变量)。

    final修饰的方法不可以被子类重写,但父类中没有被final修饰方法,子类重写后可以加final,子类重写玩加上final孙子类就不能修改子类加上final的了

    static关键字
    静态不能访问非静态,但是非静态可以访问静态。因为静态是先创造的
    被Static修饰过的都属于本类
    Static是静态常量,不进站和堆,是在方法和数据共享区内扫描并保存,
    静态优先于对象存在。

    Static里面不能用this和super关键字,一个是代表本类对象一个代表父类对象,因为是对象,所以他俩还没有创建出来Static就提前创建出来了,所以访问不到。
    被Static修饰的就属于类了,调用的时候建议用类名调用:
    定义静态常量
    public static final 数据类型 变量名 = 值;
    具有static和final的共同特点:
    创建必须赋值
    进入方法和数据共享区,贯穿全局并且直接用类名调用
    接口中的每个成员变量都默认使用public static final修饰。
    所有接口中的成员变量已是静态常量,由于接口没有构造方法,所以必须显示赋值。可以直接用接口名访问。(简单说:就是创建是必须赋值)

  • 相关阅读:
    spark Kryo serialization failed: Buffer overflow 错误
    spark sql加载avro
    Java读写hdfs上的avro文件
    spark使用scala读取Avro数据(转)
    spark遇到的错误1-内存不足
    php数据表
    php商品详情页的修改
    php ecshop前台修改
    php的文件
    php文件的学习
  • 原文地址:https://www.cnblogs.com/awdsjk/p/10914136.html
Copyright © 2011-2022 走看看