第4章2 隐藏 this super final 包 接口.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章2 隐藏 this super final 包 接口

隐藏、this、super、final、 包、接口 3.7.2 成员变量的隐藏和方法的重写 (1)当子类中定义的成员变量与父类中的成员变量重名时,则父类中的成员变量不能被继承。 (2)当子类中定义的方法和父类中的方法完全相同时,父类中的方法将被隐藏(即重写了父类的方法或置换了父类的方法) 因此,子类通过成员变量的隐藏和方法的重写可以把父类的属性和方法改变为自身的属性和方法。 【例 3.9】 class Mu1{ float f(float x,float y) { return x*y; } //父类 乘法 } class Add extends Mu1{ float f(float x,float y) //重写了父类的方法f() { return x+y; } //子类 加法 } public class Main{ public static void main(String args[]){ Add sum=new Add(); System.out.println(sum.f(2.5f,3f)); }//调用的是子类重写的方法 } 若删除子类重写的方法f(),则会调用父类方法 class Mu1{//父类 float f(float x,float y) { return x*y; } } class Add4 extends Mu1{//子类 //float f(float x,float y) //重写了父类的方法f() //{ return x+y; } } public class 重写父类方法{ public static void main(String args[]){ Add4 sum=new Add4(); System.out.println(sum.f(2.5f,3f)); System.out.println(sum.f(2.5f,3f)); } } 3.7.3this 和super关键字 null 代表“空”,在定义一个对象但尚未其分配内存单元时可以指定这个对象为null; this 代表当前类的对象; super 父类对象 1.this this 表示当前对象本身。通过this可以顺利的访问到当前类的方法和变量。 【例3.10】 Public class A { int b=8; A(int b) { System.out.println(b); //b=5 System.out.println(this.b); //b=8 } public static void main(String args[]) { A c=new A(5); } } 改类名为this2 public class this2 //A {int b=8; this2(int b) { System.out.println(b);//b=5 System.out.println(this.b);//b=8 } public static void main(String args[]) { this2 c=new this2(5); } } 2.super Super表示的是当前对象的直接父类对象,是当前对象的直接父类的对象引用。 class Mul { float f(float x,float y) { return x*y; } } public class Add extends Mul { float f(float x,float y) { return x+y;} void m(){ float a=f(5f,3f); //a=5f+3f=8.0000000 float b=super.f(5f,3f); //b=5f*3f=15.0000000 System.out.println(“a=”+a); System.out.println(“b=“+b); } public static void main(String args[]){ Add x=new Add(); x.m( ); } } 主方法亦可属于

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档