java final

作者:原创时间:2022-03-15
文档

很多朋友都想知道java的final是什么?下面就一起来解读一下吧~

final是java中的一个关键字,意思为恒定不变,java中final数据具体有两个含义:1、对于基本数据类型,表示永不改变的编译时常量;2、对于普通对象,表示该引用恒定不变,不能指向另外一个对象,该对象本身是可以进行修改的。

final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的,在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会再被扩展,那么就设计为final类,final方法不能被子类的方法覆盖,但可以被继承。
public class Test1 { 
public static void main(String[] args) { 
    // TODO 自动生成方法存根 
} 
public void f1() { 
    System.out.println("f1"); 
} 
//无法被子类覆盖的方法 
public final void f2() { 
    System.out.println("f2"); 
} 
public void f3() { 
    System.out.println("f3"); 
} 
private void f4() { 
    System.out.println("f4"); 
} 
} 
public class Test2 extends Test1 { 
    
public void f1(){     
    System.out.println("Test1父类方法f1被覆盖!"); 
} 
public static void main(String[] args) { 
    Test2 t=new Test2(); 
    t.f1();    
    t.f2(); //调用从父类继承过来的final方法 
    t.f3(); //调用从父类继承过来的方法 
    //t.f4(); //调用失败,无法从父类继承获得 ,因为被私有修饰符修饰了。
} 
}

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java json java 泛型 python range函数 linux ftp js 字符串转数字 电脑忘记开机密码怎么办 两个二维码怎么拼一起 怎样查看微信删除的聊天记录 微信扫码不能扫了怎么办 微信恢复删除的聊天记录 拼多多拒收在哪里操作 abstract java 交管12123怎么查科目一分数 antlr java ajax java ansible java aspect java 怎样改抖音名字的昵称 assert java asterisk java java foreach java hashmap java lambda java random java stream java filereader maven安装配置 idea的maven配置 python 引用 js数组遍历方法 js json对象 js 遍历json java concat python调用dll python strip函数 python configparser模块 oracle coalesce rstudio使用教程 mysql去重复 保留一条 js set方法