java中的基本语法——static关键字

   不知不觉中,工作已3年多,在这3年里,碰到了许多技术上和业务上的问题,不过在自己的努力和同事的帮助下也都解决了,自己也成长很多。今年春节之后,突然萌生了跳槽的想法,然后自己也就在网上了解了一些关于面试的分享心得,看后发现大部分的面试题只有一个模糊的答案,泪奔,于是决定重新整理自己知识点并补充(参考各位大大的面试题分享)。方便后续回顾。

   闲话不多说了,开始进入正题,因为自己主攻的是java,所以就先从java基础开始整理,

   1、什么是java关键字

      百度百科中是这样描述的“Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。

      按我的理解,java关键字就是java语言和运行平台的一种约定,就和我们生活中的交通标志一样,是约定好的,开车中遇到什么标志就会做相应的处理,java中的关键字也是同样的作用。

  2、static关键字的含义

      表明具有静态属性

 3、static关键字的使用

    总的来说,static主要有4种:修饰成员变量,修饰成员方法,静态块和静态导包。

    (1)修饰成员变量

            java中的三大变量:实例变量,局部变量,静态变量(类变量)。

           局部变量:就是本地变量,在方法,构造器和块中使用,在方法,构造器和块进入中创建,退出时即被销毁。

           实例变量:在类中声明,但是在方法,构造器和块的外面,属于对象,只有对象被创建后,实例变量才会被使用,对象销毁即被销毁。只有用“对象。实例变量”的方式来引用。

           静态变量:又叫类变量,在类中用static关键字声明,在方法,构造器和块之外,每个类只有一个类对象,不管这个类有多少对象,只要静态变量所在的类被加载,就会为静态变量分配空间,可以被使用,引用方式有2种:“类.静态变量”和“对象.静态变量”。

          例子

public class Test {
    //定义类变量
    public static String name ="小明";
    //定义实例变量
    public int age = 27;

    public String test(){
        //定义局部变量
        String name1 = "小红";
        return name1;
    }

    public static void main(String[] args){
        System.out.println("静态变量:人名:"+Test.name);
        Test test = new Test();
        System.out.println("实例变量:年龄:"+test.age);
        System.out.println("局部变量:人名:"+test.test());
    }
}

    (2)修饰成员方法

             static方法是类的方法,最大的作用是可以使用“类名.方法名”的方式使用,避免了要先new出对象,节省资源,

            static方法中不能使用super和this关键字,不能调用非static方法,不能使用非static修饰的成员变量和方法,很简单,static修饰的方法属于类的,如果去直接使用对象的的成员变量,那就无法确定该使用哪一个对象的属性。

            单例设计模式

            单例模式就是通过static来实现的。这一模式的目的是使类的一个对象成为系统中的唯一实例,单例模式的具体内容可参考网上的一些文章,这里就不做详述。

    (3)静态块

          这个很好理解,static代码块只会被执行一次,同时,在创建对象时,static修饰的成员会首先被初始化。

    (4)静态导包

         和上面3个用途相比,这个用途了解的人可能就少了,我也是专门百度才了解到的,大家在工作中可能会遇到,只是不知道为什么能这样用,这里举个简单的例子:

        

package com;

public class People {
   public static void test(String n){
       System.out.println(n+"静态导包");
   }
}

import static com.People.*;
public class People1 {
    public static void main(String[] args){
         test("我是");
    }
}
输出结果:我是静态导包
采用static导入包后,在不与当前类的方法名重复的情况下,我们可以直接使用"方法名"去调用类方法
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值