可以啊,主要目的是让子类可以访问到要修改的方法,protected比public有更好的封装性。
慢慢学吧 你要学的是它的思想 然后运用到项目
刚学 感觉不是 不同于前端的那种bootstrap vue等等UI框架
是啊 没了 但是可以鼠标拖动
2、访问修饰符public,private,protected,以及不写(默认)时的区别?
答:
修饰符
当前类
同 包
子 类
其他包
public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×
类的成员不写访问修饰时默认为default。默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)。受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有。Java中,外部类的修饰符只能是public或默认,类的成员(包括内部类)的修饰符可以是以上四种。
指向子类对象的引用,由子类复写差异化,说的好听点
差异化便捷创建子类对象, 理解抽象
都是一样的 , 用的子类的, 不同是用的抽象方法, 子类必须实现, 程序调用的时候就可以做到差异化实现,
final最终方法 ,不可被修改,以免干扰到模板的实现
模板方的概念就决定了必须使用抽象基类来实现。
对模板方法中非共性的方法采用抽象类中的抽象方法,是因为有些方法在模板中确实不知道具体的实现,提供一个空的默认实现,再在子类中去override是多余的。再者,共性的部分采用private标识,对子类屏蔽了实现细节,让具体的子类只用关注它特有的个性方法实现。 这样整体结构更加清晰明了,各个类的职责也更加具体清楚。
这位老师讲的很好。。。
使用高层的就可以了.当然你也可以使用具体的实现类
可以的,你通过火狐浏览器,安装NetVideoHunter插件
你这不就是钩子方法的定义吗? 只是你返回时void, 我们返回一个布尔值。本质都是在父类中提供一个默认实现的方法,之类可以重载。
突然想到某些数据库访问层用的就是抽象类,子类具体实现 重写 某些方法
我们去银行办业务的时候其实并不知道里面的柜员在干什么。这些抽象方法通常只是让子类看到并实现,通常没必要暴露给外部。
你可以把方法做成交互式的啊!
小妹要加柠檬吗(Y|N)?
输入Y就return true, N就return false