首页 > 编程语言 >java static 静态

java static 静态

时间:2022-10-06 19:36:09浏览次数:52  
标签:java String 静态 static 静态方法 out 变量

static 是 java 语言中的关键字,意思是“静态的”,它可以用来修饰变量、方法、代码块等,修饰的变量叫做静态变量,修饰的方法叫做静态方法,修饰的代码块叫做静态代码块。static的作用就是用于区分成员变量、方法、内部类、初始化块这四种成员到底属于类本身还是属于实例。静态变量是成员变量的一种,静态变量存储在方法区中,则它在类加载时就会进行初始化,所以静态变量访问的时候不需要创建实例(对象),直接可以通过类名来访问;什么时候使用静态变量?

代码:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 public class StaticTest01 {     public static void main(String[] args) {         Chinese c1 = new Chinese("张三""333333333333""中国");         System.out.print("姓名:" + c1.name);         System.out.print(" 身份证号:" + c1.idNum);         System.out.println(" 国籍:" + c1.nation);         Chinese c2 = new Chinese("李四""444444444444""中国");         System.out.print("姓名:" + c2.name);         System.out.print(" 身份证号:" + c2.idNum);         System.out.println(" 国籍:" + c2.nation);     } } class Chinese {     // 姓名; 实例变量     String name;     //身份证号; 实例变量     String idNum;     //国籍; 实例变量     String nation;       //无参构造器     public Chinese() {}     //有参构造器     public Chinese(String myName, String myIdNum, String myNation) {         this.name = myName;         this.idNum = myIdNum;         this.nation = myNation;     } }

  输出结果

1 2 姓名:张三 身份证号:333333333333 国籍:中国 姓名:李四 身份证号:444444444444 国籍:中国

  

对于静态变量,
对象级别的变量不需要static
类级别的变量需要static

对象级别:一个对象对应一份数据,各个对象都可以不同

类级别: 所有对象对应一份数据,各个对象都一样

所有静态相关的,直接使用类名去访问

静态方法只能访问静态的成员,不可以直接访问实例成员。

实例方法可以访问静态成员,也可以访问实例成员。

静态方法中是不可以出现this关键字的。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 package HJssss; public class zhuce {       public static void main(String[] args) {         int result;           for (int x = 1; x <= 10; x++) {             result = square(x);             // Math库中也提供了求平方数的方法             // result=(int)Math.pow(x,2);             System.out.println("The square of " + x + " is " + result + "\n");         }     }       // 自定义求平方数的静态方法     public static int square(int y) {         return y * y;     } }

  这个代码如果去掉子方法里面的static就会报错,

简单点说 非静态方法可以调用静态方法及静态变量,静态方法不能调用非静态方法及变量。
被static修饰的可以直接通过Class.的方法调用,而非静态方法必须有对象才能调用。

所以才会出错。

标签:java,String,静态,static,静态方法,out,变量
From: https://www.cnblogs.com/xiao-hong111/p/16758237.html

相关文章

  • 「前端料包」深入理解JavaScript原型和原型链
    1.前言关于JS原型和原型链我之前刚学js就有写过一篇学习笔记形式的博客,但前两天翻出来一看——什么鬼,这是我写的吗?自己都看不懂了,于是我重新整理思路,今天「前端料包」......
  • java方法重载
    1234567891011121314151617如下代码:<br>//MethodOverload.java //Usingoverloadedmethods packageHJssss;public class zhuce{ ......
  • Java NIO通信基础
    参考书籍:Netty、Redis、ZooKeeper高并发实战1.  IO读写的基本原理用户程序进行IO的读写,实际上是缓存区的复制。即read:从内核缓冲区复制到进程缓冲区;write:从进行缓冲区......
  • 「前端料包」可能是最透彻的JavaScript数据类型详解
    前言接触写博客有一段时间了,都是边学边学着写,但总感觉写的凌乱,想起啥写啥。这几天在刷红宝书,收获还是蛮多的,决定结合自己的学习,写一个系列,我叫它「前端料包」,旨在巩固前端......
  • Java 面试题 05 - Spring Boot
    Spring是什么?是一个轻量级的控制反转和面向切面的容器框架。控制反转(IOC):一个对象所依赖的其他对象的创建,不由这个对象负责,而是由容器负责,容器会在对象初始化时就将所......
  • Java 面试题 06 - MySQL
    事务事务是逻辑上的一组操作,要么都执行,要么都不执行。事务的四个特性(ACID):原子性:事务不允许分割,要么全部完成,要么完全不执行。一致性:逻辑上的正确性,即这组操作的结果是......
  • 2022.9.30 Java第四次课后总结
    1.publicclassBoxAndUnbox{ /** *@paramargs */ publicstaticvoidmain(String[]args){ intvalue=100; Integerobj=value;//装箱 intresult=obj*2;......
  • java初步学习 方法的三种格式(基于黑马的课进行自学,初学者,不喜勿喷)9
    初步学习方法基本概念方法是程序(mathod)中最小的执行单元我们可以自己创建一个方法,并在其中写入想要执行的代码(将代码打包),这样可以重复使用,可以提高代码的复用性与可维......
  • JAVA 分布式电商项目高并发集群
    什么是分布式系统?要理解分布式系统,主要需要明白一下2个方面:1.分布式系统一定是由多个节点组成的系统。其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互......
  • JAVA中的高并发,解决高并发的方案
     java高并发,如何解决,什么方式解决一、什么是高并发二、高并发的解决方法有两种三、追加 一、什么是高并发1.1高并发(HighConcurrency)是互联网......