零基础学Java—static关键字概述(十六)
Posted 王同学要努力
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学Java—static关键字概述(十六)相关的知识,希望对你有一定的参考价值。
【零基础学Java】—static关键字概述(十六)
一、static关键字
二、static关键字修饰成员变量
/**
* @author :CaiCai
* @date : 2022/4/8 11:15
*/
public class demo09
public static void main(String[] args)
Student one=new Student("小迪",20);
one.room="101教室";
System.out.println("姓名:"+one.getName()+",年龄:"+one.getAge()+",教室:"+one.room);
Student two=new Student ("小李",21);
System.out.println("姓名:"+two.getName()+",年龄:"+two.getAge()+",教室:"+two.room);
/**
* @author :CaiCai
* @date : 2022/4/8 11:09
*/
public class Student
private String name;
private int age;
static String room;
public Student()
public Student(String name, int age)
this.name = name;
this.age = age;
public String getName()
return name;
public void setName(String name)
this.name = name;
public int getAge()
return age;
public void setAge(int age)
this.age = age;
- 一旦用static修饰,那么这就成为了静态方法,静态方法不属于静态对象,而是属于类的
- 如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用
- 无论是成员变量还是成员方法,如果有了static 都推荐使用类名进行调用
- 静态变量:类名称.静态变量
- 静态方法:类名称.静态方法()
注意事项:
- 静态只能访问静态,不能访问非静态
- 原因:因为在内存当中是先有的静态内容,后有的非静态内容
- 静态方法当中不能使用this
- 原因:this代表当前对象,通过谁调用的方法,谁就是当前对象
/**
* @author :CaiCai
* @date : 2022/4/8 11:39
*/
/*
注意事项:
静态只能访问静态,不能访问非静态
原因:因为在内存当中是先有的静态内容,后有的非静态内容
静态方法当中不能使用this
原因:this代表当前对象,通过谁调用的方法,谁就是当前对象
*/
public class staticMethod
//一旦用static修饰,那么这就成为了静态方法,静态方法不属于静态对象,而是属于类的
//如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用
//无论是成员变量还是成员方法,如果有了static 都推荐使用类名进行调用
//静态变量:类名称.静态变量
//静态方法:类名称.静态方法()
public static void main(String[] args)
myClass obj=new myClass();//创建对象
//然后才能使用static没有关键字的内容
obj.method();
//对于静态方法来说 可以通过对象名进行调用 也可以直接通过类名进行调用
obj.methodStatic();
myClass.methodStatic();
//对于本类当中的类名称 可以省略类名称
myMethod();
public static void myMethod()
System.out.println("自己的方法");
三、静态static的内存图
根据类名访问静态成员变量的时候,全称和对象没关系,只和类有关系
四、静态代码块
静态代码块的格式是:
public class 类名称
static
//静态代码块的内容
- 静态代码块的用途:用来一次性地对静态成员变量进行赋值
- 特点:当第一次用到本类时,静态代码块执行唯一的一次
- 静态内容总是优于非静态内容,所以静态代码块比构造方法先执行
以上是关于零基础学Java—static关键字概述(十六)的主要内容,如果未能解决你的问题,请参考以下文章
零基础学Java并不难!详解Java中的static关键字(上)
零基础学Java并不难!详解Java中的static关键字(下)