static关键字

static:静态的
static可以用来修饰属性,方法,代码块,内部类
 
静态变量:(随着类的加载而加载,由于类在内存中只加载一次,所以静态变量在内存中只存一次。)
我们创建了类的多个对象,多个对象共同享受同一个静态变量。当通过某一个对象修改静态变量时,会导致其他对象调用此静态变量时,是修改过了的。
 
实例变量
我们创建了类的多个对象,每个对象都有一套类中的非静态属性。当修改其中一个对象的非静态变量时,不会导致其他对象中同样属性值的修改
 
静态方法:
Man m1 = new Man();   //设eat为静态方法
1.可以通过类直接调用
Man.eat();
2.也可以通过实例调用。
m1.eat();
 
非静态方法    //设study为非静态方法
只能通过实例调用
m1.study();
 
特别: 静态方法中只能调用静态的方法和属性,而非静态方法既可以调用非静态的方法和属性,也可以调用静态的方法和属性(因为静态方法随着类的加载而加载,非静态方法随着实例的创建而加载,类的加载先于实例加载)
 
注意点:在静态方法中,不能使用this关键字,super关键字
 
开发中,如何确定一个属性是否声明为static?
--属性是可以被多个对象所共享的,不会随着对象的不同而不同。
 
开发中,  如何确定一个方法是否申明为static?
--操作静态属性的方法通常设置为static
--工具类中的方法
           
posted @ 2020-10-16 13:14  swpuLHS  阅读(62)  评论(0)    收藏  举报