封装:将对象属性和方法包装到一起,隐藏对象实现的细节,只对外提供公共的访问方式。
private:隐秘性最高的修饰符,用private修饰的方法只能在同类中才能直接调用。
被private修饰的成员变量只能直接在同类中被修改。
为什么要封装:方便方法的重复使用,能减少错误率,还能减少工作量。
用过的封装:1单例模式 用private修饰类的构造方法使其不能直接被new成对象,就完成了对类的封装。
2:在使用不同修饰符时都是对类不同程度的封装,public开放性最高,protected开放性其次,在异包子类,同包同类下皆可以访问,default只有在同包同类下可以访问,private 只有同类能访问。
private 是封装 封装不只是private。
继承:java继承关系中一个子类只能有一个父类,一个父类可以有多个子类,多个子类都可继承父类的方法和属性,可以减少工作量 ,要创建多个具有相同属性和行为的对象时,就可用继承实现,减少代码重复率。
java是单继承语言,不可以多继承 ,但是通过子类继承父类,父类继承父类的父类,子类就可以继承父类的父类的属性和方法,来模拟多继承(就是通过树状父子结构完成多继承)(object是最高父类)
类同过接口的多实现也算多继承,接口可以直接实现多继承。
多态:在继承关系中子类可以对父类的方法进行重写,父类引用指向子类,用父类调用子类方法,但是子类方法必须是父类中有的,就是子类对父类方法的重写,最终呈现的是子类方法的结果,就是多态
多态 运行时多态和编译时多态,运行时多态(方法重写) 编译时多态(方法重载)