Java教材课件05PPT.ppt

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

5.1.3 方法重载 在Java类中可以创建名字相同,但是参数不同和返回值不同的几个方法,这就是方法重载(overloading),Java系统通过参数和返回值来分辨具体是哪一个方法。通过方法重载,一个类中可以有多个具有相同名字的方法,传递给它们的不同个数和类型的参数来决定使用那种方法,这就是多态。 构造方法是一种特殊的方法。Java中的每个类都有构造方法,用来初始化该类的一个新的对象。在构造方法的实现中,为了实现不同对象的不同初始化值,也可以进行方法重载,所以类可以有多个构造方法,并且它们共享同一个名字,构造方法可以通过参数的类型和数目区分。构造方法使用它的参数初始化新对象的状态,当创建对象时,应该选择其参数最能反映所初始化的新对象的构造方法,根据传给构造方法的参数数目和类型的不同,Java编译器可以决定使用那个构造方法。 //方法重载应用举例 class MyDraw{ public void draw(int i){ System.out.println(input integers:+i); } public void draw(String s){ System.out.println(input strings:+s); } } public class Li5_05{ public static void main(String args[]){ MyDraw d=new MyDraw(); d.draw(5); d.draw(Meng); } } input integers:5 input strings:Meng //构造方法重载举例 class Point { int x, y; Point() { x=0; y=0; } Point(int x, int y){ this.x =x; this.y =y; } } 内部类 在类内部可定义成员变量和方法,其实,在类内部也可以定义另一个类。如果在类A的内部再定义一个类B,此时类 B 称为内部类,而类A则称为外部类。 内部类可声明为 public 或 private。 当内部类声明成 public 或 private 时,其访问限制与成员变量或方法完全相同。关于内部类的用法详见第8章8.3节。 5.1.4 内部类 inner class public class MyOuter { private int x; MyOuter(int x, int y) { this.x = x; new MyInner(y).privateDisplay(); } public class MyInner { private int y; MyInner(int y) { this.y = y; } private void privateDisplay() { System.out.println(privateDisplay x = + x + and y = + y); } } public static void main(String args[]){ MyOuter outer = new MyOuter(3,5); } } 内部类 privateDisplay x = 3 and y = 5 5.2 访问控制符和封装 前已述及,Java的类成员主要有访问修饰符:private、protected、public和default,具体存取权限见表5-1。 表5-1 不同访问修饰符的具体存取权限 ? public default protected private 可被相同包的非子类访问 Yes Yes Yes No 可被相同包的子类访问 Yes Yes Yes No 可被不同包的非子类访问 Yes No No No 可被不同包的子类访问 Yes No No No 可被相同包的子类继承 Yes Yes Yes No 可被不同包的子类继承 Yes No Yes No 5.3 继承 5.3.1 子类和简单继承举例 按定义为类的格式,如果有如下类A声明: class 类名A [extends 父类B][implements接口名]{ 成员变量的声明 成员方法的声明及实现 } 则说明新定义的类A是父类B的子类。如果缺省extends子句,则该类为java.lang.Object的子类。子类可以继承父类中访问权限为public、protected等的成员变量和方法,但不能继承访问权限为private

文档评论(0)

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

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

1亿VIP精品文档

相关文档