java中"阻止继承"关于final类和final方法的问题

2024-12-28 19:53:03
推荐回答(4个)
回答1:

final 有几种意思,其一,如果用final来修饰一个类,那么这个类将会成为“东方不败”,是无法成为父类的,也就是无法被继承。其二,如果用final来修饰数据类型,如int,String,double,float等等,这些意味着这些数据不能再被修改,如:final int a=0;a=1;//这句话就会报错。需要注意的是,用final修饰类,并不是代表该类不能被修改,如:final StringBuffer sb=new StringBuffer();sb.append("信息");//这里是不会报错的 希望我的回答对你有帮助咯~

回答2:

final是能够用在子类的创建的方法前并且可以是子类重写父类的方法前这是我试过的:1.Test.java:package com;public class Test{public static void main(String[] args){
System.out.println("hello java");
B a3=new B();
System.out.println(a3.getSalary());
}
}2.A.java:package com;
class A{public int test()
{
return 15;
}
}3.B.java:package com;
class B extends A{public final double getSalary()
{
return 123.3;
}
}

回答3:

final在方法前修饰只是为了在子类中这个方法不被overwrite,同时 你当然可以在子类中写另外一个final修饰的不同名字或者参数的方法,这两者并不冲突吧

回答4:

可以调用,不能重写