- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
接口应用举例(1) public interface Runner { public void start(); public void run(); public void stop(); } public class Person implements Runner { public void start() { // 准备工作:弯腰、蹬腿、咬牙、瞪眼 // 开跑 } public void run() { // 摆动手臂 // 维持直线方向 } public void stop() { // 减速直至停止、喝水。 } } 接口应用举例(2) interface Runner +start() +run() +stop() Person +start() +run() +stop() +dance() Car +start() +run() +stop() +fillFuel() +crack() Bird +start() +run() +stop() +fly() 高级类特性 本章内容 static 关键字 final 关键字 抽象类(abstract 关键字) 接口(interface 关键字) 内部类 本章内容 static 关键字 静态属性 静态初始化 静态方法 单子模式 理解main方法的语法 final 关键字 抽象类(abstract 关键字) 接口(interface 关键字) 内部类 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有个国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的实例对象中都单独分配一个用于代表国家名称的变量。 关键字 static 关键字 static class Circle { private double radius; public Circle(double radius){this.radius=radius;} public double findArea(){return Math.PI*radius*radius;} } 创建两个Circle对象 Circle c1=new Circle(2.0); //c1.radius=2.0 Circle c2=new Circle(3.0); //c2.radius=3.0 Circle类中的变量radius是一个实例变量(instance variable),它属于类的每一个对象,不能被同一个类的不同对象所共享。 上例中c1的radius独立于c2的radius,存储在不同的空间。c1中的radius变化不会影响c2的radius,反之亦然。 如果想让一个类的所有实例共享数据,请用类变量 关键字 static 在Java类中声明变量、方法和内部类时,可使用关键字static做为修饰符。 static标记的变量或方法由整个类(所有实例)共享,如访问控制权限允许,可不必创建该类对象而直接用类名加‘.’调用。 static成员也称类成员或静态成员,如:类变量、类方法、静态方法等。 类变量(class Variable) 类变量(类属性)由该类的所有实例共享 public class Person { private int id; public static int total = 0; public Person() { total++; id = total; } } Person +total : int = 0 -id : int p1 : Person id=1 p2 : Person id=2 instanceOf instanceOf Person p1=new Person(); Person p2=new Person(); 类属性类似于全局变量 类属性应用举例 class Person { private int id; public static int total = 0; public Person() { total++; id = total; } public static void main(String args[]){
文档评论(0)