Java语言程序设计(第三版,清华)第4章-java2实用教程4.1-4.7.ppt

Java语言程序设计(第三版,清华)第4章-java2实用教程4.1-4.7.ppt

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

* * * 如果一个类的所有实例都包含一个相同的常量属性,可把这个属性定义为静态常量 * 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。其初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造方法中。这两个地方只能选其一,要么在定义时给值,要么在构造方法中给值,不能同时既在定义时给了值,又在构造方法中给另外的值。 * * 将方法声明为final,那就说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。 Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。   可以将native方法比作Java程序同C程序的接口,其实现步骤:   1、在Java中声明native()方法,然后编译;   2、用javah产生一个.h文件;   3、写一个.cpp文件实现native导出方法,其中需要包含第二步产生的.h文件(注意其中又包含了JDK带的jni.h文件);   4、将第三步的.cpp文件编译成动态链接库文件;   5、在Java中用System.loadLibrary()方法加载第四步产生的动态链接库文件,这个native()方法就可以在Java中被访问了。 * 静态static方法: 静态方法不需要通过它的所属的类的任何实例就会被调用,因此静态方法中不能使用 this 关键字,也不能访问类的实例变量和实例方法,但是可以访问所属类的静态变量和静态方法。但是在实例方法中可以直接访问所属类的静态变量,静态方法。实例变量,实例方法。 静态方法必须被实现,它表示某个类所特有的功能,它不依赖于类的具体实例,也不依赖于它的子类。所以必须提供实现,即,一个静态方法不能被定义为抽象方法 如 : static abstract void method(); 为什么main()方法中要用static? 类在加载是无法创建对象,类方法可以不通过对象来调用。所以,可以类加载时可以通过main方法入口来运行 为什么main()方法中要用static? 类在加载是无法创建对象,类方法可以不通过对象来调用。所以,可以类加载时可以通过main方法入口来运行 * 而类方法只能对类变量进行操作(为什么?) (在创建对象之前,实例变量还没分配内存) * * * * * public String toString() { return(Account #+ new java.text.DecimalFormat(000000).format(accountNumber) + with balance + new java.text.DecimalFormat($0.00).format(balance)); } public float deposit(float anAmount) { balance += anAmount; return balance; } public float withdraw(float anAmount) { if (anAmount = balance) balance -= anAmount; return anAmount; } } 2.4.6 声明类变量 ——BankAccount2.java 应用举例 * public class AccountTester2 { public static void main(String args[]) { BankAccount2 bobsAccount, marysAccount, biffsAccount; bobsAccount = BankAccount2.example1(); marysAccount = BankAccount2.example1(); biffsAccount = BankAccount2.example2(); marysAccount.setOwnerName(Mary); marysAccount.deposit(250);

文档评论(0)

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

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

1亿VIP精品文档

相关文档