为了账号安全,请及时绑定邮箱和手机立即绑定

java抽象类的使用?

java抽象类的使用?

拉风的咖菲猫 2019-03-22 09:15:15
为什么抽象类可以这样使用public abstract class SingleFragmentActivity extends AppCompatActivity{    protected abstract Fragment createFragment();    @Override    protected void onCreate(Bundle savedInstanceState) {        if (fragment==null){            fragment = createFragment();            fragmentManager.beginTransaction()                    .add(R.id.fragmentContainer,fragment)                    .commit();        }    }}java中的抽象类可以这样使用吗,还是单纯Android中的使用。我在java1.8做类似的测试发现这样的使用是不行的。这里的createFragment不就等同于实例化传给fragmnet,但是抽象类是不可以实例化。这里我是搞不懂的。
查看完整描述

4 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

1.抽象类可以继承
2.有抽象方法必须定义成抽象类
3.抽象类不一定要有抽象方法

所写代码符合,


题主所说的实例化问题,是抽象类不可以实例化,必须要子类继承重写后,可实例化,也就是不可以new。而不是说在抽象类的内部,不可以对其中的变量进行赋值。


查看完整回答
反对 回复 2019-04-17
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

你的疑问点在哪里?这样用有什么问题吗?这是标准Java写法啊


查看完整回答
反对 回复 2019-04-17
?
茅侃侃

TA贡献1842条经验 获得超21个赞

这是Java的特性, 不是Android的特性, 抽象类你可以理解成未实现完成的类, 类里面只有部分逻辑, 有部分逻辑未实现, 需要交给子类来实现, 要实例化该类, 需要实现完成了才能实例化


查看完整回答
反对 回复 2019-04-17
  • 4 回答
  • 0 关注
  • 565 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信