我可以创建如下的抽象类吗?
abstract class A{
private final String foo;
private final String too;
public A(final String foo, final String too) {
this.foo= foo;
this.too= too;
}
public String getfoo(){
return foo;
}
public String gettoo(){
return too;
}
}
答案 0 :(得分:7)
简短:是的。
Long(呃):抽象类只是一个无法按原样实例化的类,因为部分可能仍然缺失。因此我可以拥有私人领域。请注意,除了getters / setters之外,子类无法访问它们。
答案 1 :(得分:1)
您的代码是正确的。
注意:抽象类中的良好实践是受保护的构造函数,beacuse类本身无法实例化,继承类必须调用super(...)
构造函数。
答案 2 :(得分:0)
是的,你可以。
考虑是否可以使它们protected
而不是私有,以允许您的子类(即扩展此类的子类)直接访问字段。
答案 3 :(得分:-1)
当然可以。但是这不是一个好习惯,因为你不能创建这个类的一个对象。主要的一点是你也不需要这种类,因为你没有在它里面定义任何抽象函数。但根据你的问题,你绝对可以创建这种类型的抽象类。