static关键字、package关键字、import关键字

static关键字、package关键字、import关键字

static关键字

在这里插入图片描述

静态成员变量与成员变量的区别

静态成员变量 成员变量
所属不同
静态属于类,因此也叫类变量 成员变量属于对象,因此也叫实例变量或对象变量
内存中的位置不同
存储于内存中方法区的静态区 存储于堆内存中
出现在内存中的时间不同
随着类的加载而加载,随着类的消失而消失 随着对象的创建而创建,随着对象的消失而消失
调用不同
可以通过对象名调用,也可以通过类名调用 成员变量只能通过对象名调用

package关键字(打包)

在这里插入图片描述

import关键字

  有时候我们会遇到我需要的两个java文件在不同包下,可是并不能直接把这两个java文件用在一起,这时候我们就需要import关键字进行导包。

格式:import 包名;
注:这个包名是具体到类名(如:import org.ccc.code.Sum,后面这个Sum就是你需要的类的名字,当然这个Sum的位置你也可以写 *,这个星号表示导入包里的全部文件,但是不建议这么用)

代码演示

Sum类

package org.ji11.code;//org.ji11.code是多级包名
public class Sum {
	public int i=10;
    public static int j=100;
    public void show(){
        System.out.println("我是org.ji11.code包下的Sum类的show方法");
    }
    public static void show1(){
        System.out.println("我是org.ji11.code包下的Sum类的静态show1方法");
    }
}

Text类

package org.ji12.code;//org.ji12.code是多级包名
import org.ji11.code.Sum;//导入org.ji11.code包下的Sum类
import static org.ji11.code.Sum.show1;//导入org.ji11.code包下的Sum类的show1静态方法
import static org.ji11.code.Sum.j;//导入org.ji11.code包下的Sum类的j静态变量
public class Text {
    public static void main(String[] args) {
        Sum s = new Sum();
        s.show();
        Sum.show1();//通过类名调用静态方法
        s.show1();//通过对象调用静态方法
        show1();//静态方法可以直接调用
         System.out.println(s.i);//Sum.i这句话会出错,成员变量只能用对象名调用,不能用类名调用
        System.out.println(Sum.j);//通过类名调用静态变量
        System.out.println(s.j);//通过对象名调用静态变量
        System.out.println(j);
    }
}

结果

我是org.ji11.code包下的Sum类的show方法
我是org.ji11.code包下的Sum类的静态show1方法
我是org.ji11.code包下的Sum类的静态show1方法
我是org.ji11.code包下的Sum类的静态show1方法
10
100
100
100

注:静态方法和变量都需要另外导包

猜你喜欢

转载自blog.csdn.net/grey_mouse/article/details/83383153
今日推荐