网站大量收购闲置独家精品文档,联系QQ:2885784924

static关键字.doc

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

1、课程名称:static关键字 2、知识点 2.1、上次课程的主要知识点 1、 String类特点: · 字符串的内容一旦声明则不可改变,改变的是内存地址的指向; · String类对象有两种实例化方式: |- 直接赋值:开辟一块堆内存空间,并且可以自动入池; |- 构造方法实例化:开辟两块堆内存空间,不会自动入池,可以利用intern()手工入池; · 开发的使用:直接赋值使用、一般不会频繁改变、比较使用equals()。 2、 String类的方法; 3、 this关键字: · 明确的表示本类中的属性,利用“this.属性”操作; · 明确调用本类的方法: |- 利用“this.方法()”调用本类方法; |- 利用“this()”调用本类构造,但是要求必须放在构造方法的第一行; · 表示当前对象:当前正在调用类中方法的对象。 2.2、本次预计讲解的知识点 static关键字定义属性以及定义方法的操作。 3、具体内容(★★★★★) static是Java中定义的一个关键字,主要是描述全局的概念,所以利用static关键字可以定义属性、定义方法。但是在90%的情况下,我们的开发代码很少会去直接编写static。 3.1、利用static定义属性 现在假设定义一个只描述中国人的类,那么在这个类里面肯定要包含有姓名、年龄、国家,所以按照之前所学习的概念来进行设计,就可以得出如下的结果: class Person { private String name ; private int age ; String country = 中华人民共和国 ; // 此属性暂时不封装 public Person(String name,int age) { this.name = name ; this.age = age ; } public String getInfo() { return 姓名: + this.name + ,年龄: + this.age + ,国家: + this.country ; } } public class TestDemo { public static void main(String args[]) { Person perA = new Person(张三,10) ; Person perB = new Person(李四,20) ; Person perC = new Person(王五,10) ; System.out.println(perA.getInfo()) ; System.out.println(perB.getInfo()) ; System.out.println(perC.getInfo()) ; } } 但是对于以上的程序的内存关系中就会发现问题所在了。 如果说现在玩穿越了,中国退回到了唐朝,中国14亿人口,14亿对象,14亿对象修改一个属性。 这样的话对于整个代码的维护实在是太可怕,而造成这种问题的根源在于:类中的普通属性是每一个对象都独自拥有的,但是这样的设计明显不符合于当前的环境,所以最好的做法是将国家的属性设置为公共属性。所有的对象都可以共享此属性,如果要想实现这样的操作,就可以通过static关键字来进行定义。 范例:使用static关键字来定义 class Person { private String name ; private int age ; static String country = 中华人民共和国 ; // 此属性暂时不封装 public Person(String name,int age) { this.name = name ; this.age = age ; } public String getInfo() { return 姓名: + this.name + ,年龄: + this.age + ,国家: + this.country ; } } public class TestDemo { public static void main(String args[]) { Person perA = new Person(张三,10) ; Person perB = new Person(李四,20) ; Person perC = new Person(王五,10) ; perA.country = 中国-唐朝 ; // 修改了一个对象的属性 System.out.println(perA.getInfo()) ; System.out.println(perB.g

文档评论(0)

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

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

1亿VIP精品文档

相关文档