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

java static 静态

时间:2022-09-18 11:00:25浏览次数:81  
标签:java 变量 Chinese 静态 static 静态方法 String

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

代码:

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;
    }
}

  输出结果

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

  

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

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

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

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

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

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

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

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,变量,Chinese,静态,static,静态方法,String
From: https://www.cnblogs.com/nanbei666/p/16704396.html

相关文章

  • static 知识
    static修饰的内容:static表示静态的意思,可用来修饰类变量,类方法。static主要用于创建独立于具体对象的域变量或者方法。static修饰变量时,此静态变量为该类所有对象共享,非......
  • java中 static关键字
    在类中,使用static修饰符修饰的属性(成员变量)称为静态变量,也可以称为类变量,常量称为静态常量,方法称为静态方法或类方法,它们统称为静态成员,归整个类所有。静态成员不依赖于......
  • JAVA 方法(函数)的重载
    所谓方法重载,就是在同一个作用域内,方法名相同但参数个数或者参数类型不同的方法。publicclasstest1{publicstaticvoidmain(String[]args){//方法......
  • JAVA 调用方法(函数)实现打印矩形
    publicclasstest1{publicstaticvoidmain(String[]args){printRectangle(3,5);//调用printRectangle方法实现打印矩形printRectangle(2,4......
  • JAVA break和continue的区别和应用
    1.break语句:1)打印直角三角星型publicclasstest1{publicstaticvoidmain(String[]args){inti,j;for(i=1;i<=9;i++){//外层循环......
  • static关键字
    1.staticstatic翻译为“静态”所有static关键字修饰的都是类相关的,类级别的。所有static修饰的,都是采用“类名.”的方式访问。static修饰的变量:静态变量static修饰的方法:......
  • 好书推荐之《深入理解JAVA虚拟机》
    大佬推进这本书作为JVM的入门书籍,是每一个JVAV工程师必备的。 简介这是一部从工作原理和工程实践两个维度深入剖析JVM的著作,是计算机领域公认的经典,繁体版在台湾也......
  • 8年Java Stream API,8个问题看懂Streams!
    8年JavaStreamAPI,8个问题看懂Streams!是es,自JavaSE8发布以来已经8年了,其中包含StreamAPI、FunctionalInterfaces、TimeAPI和许多更重要的特性,但是Lambda和......
  • 使用 Amazon Rekognition、Lambda 和 JavaScript 进行面部识别
    使用AmazonRekognition、Lambda和JavaScript进行面部识别创建面部搜索lambda函数以按图像搜索面部亚马逊识别亚马逊识别是一个基于云的SAAS平台提供计算机......
  • JavaScript 中的混入
    JavaScript中的混入Photoby阿列克谢·鲁班on不飞溅介绍在继承中,大多数编程语言不支持多级继承,这意味着您不能为特定类拥有多个父级。Javascript也不支持多级......