二面向对象的三大特点一1封装性 其实,就是对一些细节进行了隐藏,然后对外提供其访问方法: 注:并不是说私有就是封装,他只是封装的一种体现形式,比如:你在类的属性上不定义任何修饰符,那么别的包的类就不能直接访问该类中的属性,这也属于封装,所以封装是相对的,而非绝对的
2继承性 子类继承父类后,里面的方法子类都可以调用;父类中的属性,子类也都具有,虽然父类中的属性可能是私有有的,但是子类相当于是有这么一个属性的,只是不能直接访问而已,如果要想用父类的属性给子类付值,有两种方式一个是通过构造函数,一个是调用父类的get和set方法访问和设置属性,子类继承父类时,在子类的所有构造中,默认都是有一个supper()语句来访问父类的数据;在子类构造方法中,至少有一个Supper()语句来访问父类,this()和supper()语句在一个构造中只能出现一个 3多态性 子类继承父类后,用父类的引用指向子类对象,通过父类.方法名(),便可调用子类的方法;前提示父类必须要有该方法,否则报错;而父类.属性名,调用的父类的属性,不是子类的属性注:可以是父类引用指向子类对象,不可以是子类引用指向父类对象,如果是由子类变化成的父类对象,可通过强转换成子类对象。 |
|