Java基础之static关键字

目录

友情提醒

|----------------------------------------|
| 先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。 |

静态的特点

随着类的加载而加载,优先于对象存在,对所有对象共享,可以被类名直接调用

第一章、静态代码块

① 静态代码块static修饰的代码块,直接写在类中的代码块。

在类加载的时候执行,只执行一次,通常用于初始化静态变量,它比main还先执行,执行顺序是静态代码块--构造方法

java 复制代码
public class Test {
    static {
        System.out.println("类加载的时候执行");
    }
}

第二章、静态属性

Java成员变量根据修饰符不同又分为实例变量和类变量(静态变量被static修饰)。

成员变量包含类变量。可以被该类的所有实例对象所共享。

​​

第三章、静态方法

调用静态方法时

static关键字声明方法:可以在不创建对象的情况下,直接使用类名.方法名()的形式调用,静态方法只能访问静态成员

java 复制代码
public static String m2(){
        //不同类中时,可以在不创建对象的情况下,通过(类名.方法名)进行调用。
        类名.m1();

静态方法中调用非静态方法时

需要通过对象进行调用.例如m2是非静态方法,

我们new一个对象出来驱使这个对象去调用

java 复制代码
class TestMethod_3 {
	public static void main(String[] args) {
		 TestMethod t3 =new TestMethod();//new对象
       	 t3.m2();
    }
	public String m2() {
       	 //m2是非静态方法
    }
}

第四章、static关键字与其他关键字

abstract修饰的方法是否可同时是static或native或是synchronized?

①abstract与static不能同时使用
static关键字修饰的成员是属于类的,其可以直接被类所调用。而abstract修饰的方法为抽象方法为了让子类继承后重写该方法,即无方法体的方法,不能够被直接调用,需要在子类或实现类中去编写完整的方法处理逻辑后才能使用。
②native与abstract不能共用
表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实现的问题,所以,它也不能是抽象的,不能与abstract混用。
③synchronized和abstract不能共用
abstract方法只能存在于抽象类或接口中,它不能直接产生对象,而默认synchronized方法对当前对象加锁,没有对象是不能加锁。另外synchronized不能被继承,子类继承时,需要另加修改符。

相关推荐
c***93771 小时前
SpringBoot实现异步调用的方法
java·spring boot·spring
勇闯逆流河1 小时前
【C++】C++11(下)
开发语言·c++
青衫码上行1 小时前
【Java Web学习 | 第15篇】jQuery(万字长文警告)
java·开发语言·前端·学习·jquery
凯子坚持 c2 小时前
Docker 容器实战:从镜像管理到私有仓库构建深度解析
java·docker·eureka
q***01653 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
f***68604 小时前
【SpringBoot篇】详解Bean的管理(获取bean,bean的作用域,第三方bean)
java·spring boot·后端
likuolei5 小时前
Eclipse 快捷键
java·ide·eclipse
胡萝卜3.06 小时前
掌握C++ map:高效键值对操作指南
开发语言·数据结构·c++·人工智能·map
电子_咸鱼7 小时前
【STL string 全解析:接口详解、测试实战与模拟实现】
开发语言·c++·vscode·python·算法·leetcode
哈茶真的c7 小时前
【书籍心得】左耳听风:传奇程序员练级攻略
java·c语言·python·go