您的位置:首页 > 编程语言 > Java开发

JAVA学习资料5

2010-07-31 17:29 211 查看
38)继承:class B extends A{…},A是父类或超类,B是子类,父类可继承的成员能够被子类拥有;没有声明继承的类默认从java.lang.Object继承(如:toString()方法就是从Object继承来的,即使你未定义它,它就存在了);子类是一种父类(就如同虎是一种动物),所以你可以在定义为父类的地方放一个子类的对象(如:A obj=new B();),这体现了多态;在子类实例化的过程中,首先调用父类的构造函数(即使你没有在子类的构造函数开头通过super()调用,运行时也会在子类对象创建之前自动调用无参的父类构造函数,如果父类中没有无参构造函数,必须通过代码调用存在的父类构造函数),创建父类对象,然后才会运行子类构造函数的余下部分进行子类对象的初始化

39)类成员访问限制:用public声明的成员能以任何形式访问;protected多用于继承,也就是说能够通过继承来访问,并且在包内能像public一样能被访问到,但在包外除了继承外没有办法被访问;default是缺省时默认的,只能供包内访问;最严格的是private,只能在类的内部访问,不能通过继承访问

40)成员变量的隐藏:当子类有成员变量与父类的同名时,父类的会被隐藏,但可通过super来访问(super指向超类对象)

41)成员方法的重写/覆盖:顾名思义,即重新实现父类中的方法,因而方法名、函数列表都不变(它们是判别方法身份的依据,在方法的重载中也提到了它们),返回值类型也可认为不变(返回值类型也可以继承自被覆盖方法的返回值类型,因为如此仍然属于原来的类型,符合多态概念),而访问限制可以放宽,不可变窄(第39条提访问限制时,是按宽到窄的顺序,这个规定可能是为了保证在父类对象能访问到的在子类对象也一定能被访问到)

42)final:意思就是最后的了,声明方法就是在前面加上final;final变量就是常量,初始化后的值即最后的值,不能再改动;final类就是最后一代,不能继承派生子类;final方法不能重写/覆盖,是最后的选择,不得不原封不动地继承下去

43)封装:将成员变量和方法的定义都包装于类定义之中,优点是可以避免错误,提高健壮性,还能提高灵活性,便于维护代码

44)面向对象的优点:可重用性、可拓展性、易于管理维护
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: