面向对象
面向对象 封装 一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法 封装的优点 良好的封装能够减少耦合 类内部的结构可以自由修改 可以对成员变量进行更精确的控制 隐藏信息,实现细节 实现方式:属性私有+ setter()/getter() 继承 子类继承父类的特征和行为,继承是面向对象的基石 java 不支持多继承,实现接口可视为弱继承 非私有、静态的属性和方法属于类,不能被继承,但能用子类名访问 非私有、非静态的属性和方法可以被继承 父类的私有属性 子类具有拥有权,但是不具有使用权 可以使用父类继承来的 setter/getter 方法,访问该属性 构造方法不能被继承,在继承中 父类没有定义构造方法或定义了无参数的构造方法,子类不须要定义构造方法 父类只有带参数的构造方法时,子类也不能有无参构造,必须定义带参构造,且要在第一行通过 super 显式调用父类构造方法 final 修饰的成员 final 修饰的属性可以被继承 final 修饰的方法可以被继承,不能被重写 分析内存后发现,当一个子类被实例化的时候,默认会先调用父类的构造方法对父类进行初始化,即在内存中创建一个父类对象,然后在父类对象的外部放上子类独有的属性,两者合起来成为一个子类的对象 所以,子类继承了父类的所有属性和方法或子类拥有父类的所有属性和方法是对的,只不过父类的私有属性和方法,子类是无法直接访到的,这也是