java程序设计第4章类、包和接口.ppt

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

4.3.2 import语句 为了能使用Java中已提供的类,需要用import语句来引入所需要的类。import语句的格式为: import package1[.package2…]. (classname |*); 其中,package1[.package2…]表明包的层次,与package语句相同,它对应于文件目录,classname则指明所要引入的类,如果要从一个包中引入多个类,则可以用星号(*)来代替。例如: import java.awt.*; import java.util.Date; Java编译器为所有程序自动引入包java.lang,因此不必用import语句引入它包含的所有的类,但是若需要使用其他包中的类,必须用import语句引入。 注意:使用星号(*)只能表示本层次的所有类,不包括子层次下的类。 例如,经常需要用两条import语句来引入两个层次的类: import java.awt.*; import java.awt.event.*; 4.3.3 编译和运行包中的类 使用javac可以将.class文件放入到相应的目录,只需要使用一个命令选项-d来指明包的根目录即可。 javac -d d:\tang\ch04 d:\tang\ch04\pk\TestPkg.java javac -d . pk\*.java 其中,“.”表示当前目录 运行该程序,需要指明含有main的类名: java pk.TestPkg 4.3.4 CLASSPATH 在编译和运行程序中,经常要用到多个包,怎样指明这些包的根目录呢?简单地说,包层次的根目录是由环境变量CLASSPATH来确定的。具体操作有两种方法。 一是在java及javac命令行中,用-classpath选项来指明,如: java –classpath d:\tang\ch04;c:\java\classes;. pk.TestPkg 二是设定classpath环境变量,用命令行设定环境变量,如: Set classpath= d:\tang\ch04;c:\java\classes;. 在Windows中还可以按第2章中的办法设定环境变量。 4.4 访问控制符 4.4.1 成员的访问控制符 同一个类中 同一个包中 不同包中的子类 不同包中的非子类 private Yes 默认 Yes Yes protected Yes Yes Yes public Yes Yes Yes Yes 4.4.2 类的访问控制符 在定义类时,也可以用访问控制符。类的访问控制符或者为public,或者默认。若使用public,其格式为: public class 类名{ …… } 如果类用public修饰,则该类可以被其他类所访问;若类默认访问控制符,则该类只能被同包中的类访问。 4.4.3 setter与getter 在Java编程中,有一种常见的做法,是将所有的或部分的域用private修饰,从而更好地将信息进行封装和隐藏。在这样的类中,用setXXXX和getXXXX方法对类的属性进行存取,分别称为setter与getter。这种方法有以下优点。 (1)属性用private更好地封装和隐藏,外部类不能随意存取和修改。 (2)提供方法来存取对象的属性,在方法中可以对给定的参数的合法性进行检验。 (3)方法可以用来给出计算后的值。 (4)方法可以完成其他必要的工作(如清理资源、设定状态,等等)。 (5)只提供getXXXX方法,而不提供setXXXX方法,可以保证属性是只读的。 例如:在类Person中将域age以set和get方法提供。 class Person2 { private int age; public void setAge( int age ){ if (age0 age200) this.age = age; } public int getAge(){ return age; } } 4.5 非访问控制符 非访问控制符 基 本 含 义 修 饰 类 修 饰 成 员 修饰局部变量 static 静态的、非实例的、类的 只可以修饰内部类 Yes final 最终的、不可改变的 Yes Yes Yes abstract 抽象的、不可实例化的 Yes Yes 4.5.1 static 静态域最本质的特点是:它们是类的域,不属于任何一个类的具体对象实例。它不保存在某个对象实例的内存区间中,而是保存在类的内存区域的公共存储单元。换句话说,对于该类的任何一个具体对象而言,静态域是一个公共的存储单元,任何一个类的对象访问它,取到的都是相同

文档评论(0)

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

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

1亿VIP精品文档

相关文档