最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

四:static关键字

互联网 admin 1浏览 0评论

四:static关键字

1、声明static属性、声明static方法

          一个类中的属性,通常情况下为成员属性,即使,实例化一个对象,这个对象所具有的基本属性,若要修改属性的值,只能修改该对象的属性值,不能修改其他对象的该属性值。所以,对于类中的公共属性且具有固定值,我们可以用static来修饰该属性,即表示该属性存放在公共区域,不用实例化对象就可以调用,修改该属性的值,直接使用  类.属性名  即可修改所有对象的该属性值。

          static关键字可以用来定义属性和方法。

 定义描述注意
定义属性private  static  String  name  =  "张三"

1)表示公共属性

2)不需要实例化对象就能调用:类.属性名

static属性的值修改一次,则表示所有对象的该属性都被改变了;且不受到实例化对象的控制
定义方法

public static  void  setName(String name){

       this.name =name;

}

1)表示公共方法

2)不需要实例化对象就能调用:类.方法名()

1)static方法与普通方法的区别在于是否实例化对象;

2)static方法只允许调用static属性或static方法

3)非static方法允许调用static属性或static方法

2、static应用案例

          范例:编写一个程序类,这个类可以实现实例化对象个数的统计,每一次创建新的实例化对象都可以实现一个统计操作

                    分析:可以单独创建一个static属性,因为所有对象都共享一个static属性,那么在构造方法中可以实现数据的统计处理。

package cn.demos;class Book {private String title;private static int count = 0;public Book(String title) {this.title = title;count++;System.out.println("第" + count + "本" + "图书的创建");}}public class Demo2 {public static void main(String arg[]) {new Book("JAVA");new Book("JSP");new Book("SPRING");}}
结果第1本图书的创建
第2本图书的创建
第3本图书的创建

          范例:实现属性的自动命名处理

                    分析:即如果传递了title属性,就是使用传递的值,而没有传递值,则使用”no-title-编号“进行该属性内容的定义。

package cn.demos;class Book {private String title;private static int count = 0;public Book() {this("NOTITLE - " + count++);}public Book(String title) {this.title = title;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}}public class Demo2 {public static void main(String arg[]) {System.out.println(new Book("Java").getTitle());System.out.println(new Book("JSP").getTitle());System.out.println(new Book("Spring").getTitle());System.out.println(new Book().getTitle());System.out.println(new Book().getTitle());}}
结果Java
JSP
Spring
NOTITLE - 0
NOTITLE - 1

          这样设置的好处在于,没有设置title属性时内容为null的重复问题。

 

四:static关键字

1、声明static属性、声明static方法

          一个类中的属性,通常情况下为成员属性,即使,实例化一个对象,这个对象所具有的基本属性,若要修改属性的值,只能修改该对象的属性值,不能修改其他对象的该属性值。所以,对于类中的公共属性且具有固定值,我们可以用static来修饰该属性,即表示该属性存放在公共区域,不用实例化对象就可以调用,修改该属性的值,直接使用  类.属性名  即可修改所有对象的该属性值。

          static关键字可以用来定义属性和方法。

 定义描述注意
定义属性private  static  String  name  =  "张三"

1)表示公共属性

2)不需要实例化对象就能调用:类.属性名

static属性的值修改一次,则表示所有对象的该属性都被改变了;且不受到实例化对象的控制
定义方法

public static  void  setName(String name){

       this.name =name;

}

1)表示公共方法

2)不需要实例化对象就能调用:类.方法名()

1)static方法与普通方法的区别在于是否实例化对象;

2)static方法只允许调用static属性或static方法

3)非static方法允许调用static属性或static方法

2、static应用案例

          范例:编写一个程序类,这个类可以实现实例化对象个数的统计,每一次创建新的实例化对象都可以实现一个统计操作

                    分析:可以单独创建一个static属性,因为所有对象都共享一个static属性,那么在构造方法中可以实现数据的统计处理。

package cn.demos;class Book {private String title;private static int count = 0;public Book(String title) {this.title = title;count++;System.out.println("第" + count + "本" + "图书的创建");}}public class Demo2 {public static void main(String arg[]) {new Book("JAVA");new Book("JSP");new Book("SPRING");}}
结果第1本图书的创建
第2本图书的创建
第3本图书的创建

          范例:实现属性的自动命名处理

                    分析:即如果传递了title属性,就是使用传递的值,而没有传递值,则使用”no-title-编号“进行该属性内容的定义。

package cn.demos;class Book {private String title;private static int count = 0;public Book() {this("NOTITLE - " + count++);}public Book(String title) {this.title = title;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}}public class Demo2 {public static void main(String arg[]) {System.out.println(new Book("Java").getTitle());System.out.println(new Book("JSP").getTitle());System.out.println(new Book("Spring").getTitle());System.out.println(new Book().getTitle());System.out.println(new Book().getTitle());}}
结果Java
JSP
Spring
NOTITLE - 0
NOTITLE - 1

          这样设置的好处在于,没有设置title属性时内容为null的重复问题。

 

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论