Final类可以有protected属性或方法吗?
作者:未知, 来源:网络, 阅读:123, 发布时间:2014-05-14
Final类可以有protected属性或方法吗?这是一个典型的牛角尖,一个类被声明为final,说明该类不可被继承,如果类不能被继承,那么它可以有protected的属性和方法吗?
答案是可以的,那么,这时的protected到底是什么访问权限叫呢?
一个protected的属性或方法,它可以被同一包中的类访问,或是可以被子类所访问,但是现在它不能有子类,所以,这时protected其实就和默认的访问权限完全相同,变成了同一包中的类可以访问。
package net.moon.insignificant.finalclass;
final class FinalClassSuper{
protected void sayHello(){
System.out.println("Hello, world");
}
}
public class FinalClassDemo{
public static void main(String[] args) {
// TODO Auto-generated method stub
FinalClassSuper s = new FinalClassSuper();
s.sayHello();
}
}