0
点赞
收藏
分享

微信扫一扫

java中的static关键字

做个橙梦 2022-02-05 阅读 63
//从头开始学java
```## 第一章static关键字

**  **static修饰方法,该方法不可以使用this,super等关键字,因为这些关键字实际上指的是具体的对象的内存地址,静态方法可以被类名.方法名调用,静态方法随着类的加载而加载不依附于任何对象.
并且静态方法中也不能调用非静态方法,因为非静态方法需要创建对象使用.
关于静态方法的重写问题:
静态方法不可以被重写,子类和父类创建相同方法时,不具有重写关系,代码eg:**
**

```java
public class Person {
    private String name;
    public static void printInfo(){
        System.out.println("person的方法");
    }
}
public class Man extends Person{

    public static void printInfo(){

        System.out.println("Man子类的方法");
    }

}
public class Test {
    public static void main(String[] args) {
        Person man = new Man();
        man.printInfo();
        Man person = new Man();
        person.printInfo();
    }
}

代码输出:
person的方法
Man子类的方法

子类方法上加上@Override就会报错

static修饰成员变量,表示该变量是共享的.
static修饰方法, 该方法随着类的加载而加载,通过类名.方法名直接调用.也可以通过静态导包,然后直接通过方法名调用.
static修饰类.static可以修饰内部类.该类通过调用时l,不需要new子类了.直接使用Outer.Inner outer = new Outer.Inner();创建内部类对象.
– 静态内部类能直接访问外部类的静态成员,不能直接访问外部类的实例成员(外部类的对象访问)。
– 静态内部类里面可以定义静态成员,其他内部类不可以。

举报

相关推荐

0 条评论