如果有人问你: "子类继承父类所有非私有(private)的属性和方法这句话对吗?", 如果你回答对的, 那我只能说too young too simple!
修饰符的问题
为什么说这句话不对了, 只要你搞清楚了4个访问修饰符的应用范围你就知道了
public: 任何地方都能访问
private: 类访问符(自己取得名字), 只要在本类中的都可以访问, 其他类中不可以访问
默认: 即不加修饰符的时候, 这时候是包访问符, 只要在本包中的都可以访问, 其他包不可以访问(其他包中的子类也不可以访问, 这也正是和protected的区别)
protected: 默认+非同包的子类, 即可以在本包和非同包的子类中访问, 在非同包的非子类中不可以访问
可以自己写个案例验证一下, 也有助于自己更好的理解, 那我再问: "实现类‘继承‘父接口的所有非私有的属性和方法对吗?", 如果你受到上面的启发脱口而出‘不对‘, 那你就要仔细思考一下了. 首先这个问题就有问题, 因为接口中的属性默认被public static final修饰, 接口中的方法默认被public abstract修饰, 所以接口中没有私有的属性和方法, 所以说"实现类‘继承‘父接口中所有的属性和方法"是对的.
怎么验证呢?
static: 验证在实现类中是否能被类名直接调用
final: 验证在实现类中是否能修改属性的值
abstract: 试着在接口中写一个具体的方法
public: 这个就不用说了吧
后面还会更新其他的……
时间: 2024-10-06 18:05:18