- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大学计算机专业JAVA选修课第五章继承和多态
域的继承和隐藏 子类可以继承父类的所有非私有域 子类重新定义一个与从父类那里继承来的域变量完全相同的变量,称为域的隐藏。 子类拥有两个相同名字的变量: 子类执行继承自父类的操作时,处理的是继承自父类的变量。 子类执行自己定义的方法时,处理的是自己定义的变量。 访问被隐藏的变量:super.变量名 super表示的是当前对象的直接父类。所谓直接父类是相对于当前对象的其他“祖先”类而言的。例如,假设类A派生出子类B,B类又派生出自己的子类C,则B是C的直接父类,而A是C的祖先类。 方法的重载 例:(相同类型的工作,不同的参数) public void println(int i) public void println(float f) public void println(String s) Integer类的方法重载例: String toString() static String toString(int i) static String toString(int i , int radix) Double 类的方法重载例: String toString() static String toString(double d) System.out.println 方法重载例 class Over{ void m1(int i){ System.out.println(m1(int): + i); } void m1(float f){ System.out.println(m1(float): + f); } void m1(double d){ System.out.println(m1(double): + d); } void m1(int i, float f){ System.out.println(m1(int,float): + i + + f); } void m1(float f,int i){ System.out.println(m1(float,int): + f + + i); } } 注意:方法名全相同 方法重载例 public class Test { public static void main(String[] args){ Over o = new Over(); o.m1(3); o.m1(3.14F); o.m1(3.14); o.m1(3,3.14F); o.m1(3.14F,3); } } 4-7 系统类方法重载例 PrintStream类(System.out的类型) 该类提供了一组打印不同类型数据的同名方法: println() println(boolean?x) println(char?x) println(int?x) println(long?x) println(float?x) println(double?x) println(String?x) 构造方法重载例 class Employee { String name; int age; float salary ; Employee() { } //没有参数的构造方法 Employee(String n) { //有一个参数的构造方法 name = n ; //为职工姓名赋值 } Employee(String n , int a ){ //两个参数的构造方法 name = n ; //为职工名字赋值 age = a ; //为职工年龄赋值 } 构造方法重载例 Employee(String n,int a,float s){ //三个参数的构造方法 name = n ; age = a ; salary = s; } void print() { //打印职工对象信息的方法 System.out.println(职工 + name + 年龄: + age +
文档评论(0)