首页 > 其他分享 >static知识点

static知识点

时间:2022-09-18 16:47:16浏览次数:79  
标签:知识点 变量 int 静态 static result public

在JAVA中并没有全局变量,因此static变量也称作静态变量,静态变量和非静态变量有很大的区别,只要一个成员变量使用了static关键字,那么这个变量就不再属于自己,而是属于整个类。静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。

static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。

static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。静态代码块的一个典型用例就是一次性的对静态成员变量进行赋值。

Java中的static关键字不会影响到变量或者方法的作用域。在Java中能够影响到访问权限的只有private、public、protected,包括包访问权限这几个关键字。静态成员变量虽然独立于对象,但是不代表不可以通过对象去访问,所有的静态方法和静态变量都可以通过对象访问。static final用来修饰成员变量和成员方法,对于变量,表示一旦给值就不可修改,并且通过类名可以访问。对于方法,表示不可覆盖,并且可以通过类名直接访问。在使用static关键字时,也要注意仅能调用其他的static 方法,不能以任何方式引用this 或super关键字。

去掉static之后的子方法报错是因为static是静态的,属于公共的,不需要实例化,而去掉static后就需要将类实例化之后才能使用。例如如下代码:

public class SquareIntTest {

 

public static void main(String[] args) {

 

int result;

 

 

 

for (int x = 1; x <= 10; x++) {

 

result = square(x);

 

System.out.println("The square of " + x + " is " + result + "\n");

 

}

 

}

 

// 自定义求平方数的静态方法

 

public static int square(int y) {

 

return y * y;

 

}

 

}

再去掉static之后会报错,应该改为

public class SquareIntTest {

 

public static void main(String[] args) {

 

int result;

 

SquareIntTest t=new SquareIntTest();

 

for (int x = 1; x <= 10; x++)

 

{

 

result = t.square(x);

 

System.out.println("The square of " + x + " is " + result + "\n");

 

}

 

}

 

// 自定义求平方数的方法

 

public  int square(int y) {

 

return y * y;

 

}

 

}

 

计算机使用固定的位数进行储存数据,因此能处理的数值大小是有限的,当超过这一数值时会进行截断,从而失去精准度。在进行递归,或者大数据运算以及带小数的精确运算时,需要用到BigDecimal类,这个类能够对超过16位有效位的数进行精确的运算,不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。加法:add()减法:subtract() 乘法:multiply 除法:divide() 同时要注意在调用除法时不仅要将除数作为参数,还要将进行完除法后需要保留的小数位数以及四舍五入等规则进行输入。在创建BigdDecimal对象时也不能直接创建,而是要调用方法将int,double,long,String等类型的变量变为BigDecimal对象,

标签:知识点,变量,int,静态,static,result,public
From: https://www.cnblogs.com/wrf1/p/16705155.html

相关文章

  • 汽车知识点大全
    汽车在家庭中的作用越来越重要,但是买车有很多注意点,最近整理了下分享给大家(图片请点击放大查看),希望对大家有所帮助! ......
  • 静态static关键字
    在类中,用static声明的成员变量为静态成员变量,也称为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。注:static修饰的成员变量和方法,从属于类普通变......
  • 关于java中static说法
    在类中,用static声明的成员变量为静态成员变量,也成为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。static修饰的成员变量和方法从属于类,普通变量和方法......
  • 万字总结前端的各种知识点
    《我的前端学习笔记》目录:[TOC]事件循环TheEventLoopmodelisessentiallyaconcurrencymodel,whichisgoodatI/O-bound.AsuccessfulcaseisNode.jswhi......
  • java static 静态
    static是java语言中的关键字,意思是“静态的”,它可以用来修饰变量、方法、代码块等,修饰的变量叫做静态变量,修饰的方法叫做静态方法,修饰的代码块叫做静态代码块。static的......
  • static 知识
    static修饰的内容:static表示静态的意思,可用来修饰类变量,类方法。static主要用于创建独立于具体对象的域变量或者方法。static修饰变量时,此静态变量为该类所有对象共享,非......
  • java中 static关键字
    在类中,使用static修饰符修饰的属性(成员变量)称为静态变量,也可以称为类变量,常量称为静态常量,方法称为静态方法或类方法,它们统称为静态成员,归整个类所有。静态成员不依赖于......
  • static关键字
    1.staticstatic翻译为“静态”所有static关键字修饰的都是类相关的,类级别的。所有static修饰的,都是采用“类名.”的方式访问。static修饰的变量:静态变量static修饰的方法:......
  • C++ 静态断言 static_assert
    目录从运行时断言谈起静态断言static_assert(C++11)单参数静态断言(C++17)static_assert使用场景参考资料C++11引入了静态断言static_assert,可以在编译期进行断言。从......
  • Hive重要知识点及面试题
    知识点:Hive是数据仓库建模工具之一。传统的关系数据库具有结构化程度高、独立性强、冗余度低,主要是操作型数据库和分析型数据库。其中操作型数据库:主要用于业务支撑。一......