Java学习第二十四天

一、今天干了什么

static关键字

可以用来修饰:属性、方法、代码块、内部类、

(1)使用static修饰变量:静态变量

 

静态变量与实例变量的对比

实例变量:我们创建了多个对象,每个对象都独立有一套类中的非静态属性。当修改其中一个对象中的非静态属性的时候,不会导致其他对象中同样的属性值发生改变。

静态变量:我们创建了类的多个对象,多个对象共享一个静态变量,当通过某一个对象修改静态变量时,会导致其他对象调用此静态变量时是被修改过的。

 

说明:

①静态变量随着类的增加而增加,可以通过“类.静态变量”的方法进行调用;

②静态变量的加载要早于对象的创建;

③由于类只会加载一次,静态变量在内存中只会存在一份,存在方法区的静态域中;

④是否可以通过类/对象调用变量

               静态变量                 实例变量

类     可以      不可以

对象    可以         可以

 

 

(2)使用static修饰方法:静态方法

说明:

①静态变量随着类的增加而增加,可以通过“类.静态方法”的方法进行调用;

②是否可以通过类/对象调用方法

             静态方法                实例方法

类     可以      不可以

对象    可以         可以

③静态方法中,只能调用静态方法和静态属性;

非静态方法中,既可以调用非静态方法和属性,也可以调用静态的方法和属性。

 

(3)开发中,一般什么样的属性或方法要加static:

①属性是可以被多个对象所共享的,不会随着对象不同而不同;

②操作静态属性的方法,通常设置为static;

③工具类中的方法习惯上声明为静态方法(可以避免去构造对象)。

 

(4)提醒:

①与C/C++中的static不同,Java中的static关键字不会影响到变量或者方法的作用域。

②在C/C++中static是可以作用域局部变量的,但是在Java中切记:static是不允许用来修饰局部变量。

 

二、明天干什么

学习单例设计模式、理解main()方法中的语法

posted @ 2021-08-01 21:14  闫闫不是那个严  阅读(19)  评论(0编辑  收藏  举报