首页 > 其他分享 >静态static内容

静态static内容

时间:2022-09-20 14:49:17浏览次数:55  
标签:s917 square 静态 double System 内容 static public

我们知道static是静态修饰符,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而被static修饰的代码会在编译时就被分配内存,程序退出时才会释放其内存,也就是说,只要程序还在运行内存就一直存在。为什么Java中的函数方法都需要static来修饰才能直接调用呢?
public class s917 {
public static void main(String[] args) {
System.out.println("the square of integer 7 is"+square(7));
System.out.println("\nThe square of double 7.1 is "+square(7.1));
}
public static int square(int x) {
return x*x;
}
public static double square(double y) {
return y*y;
}
}
以上代码在编译运行时是正确的,但当我们把两个square函数方法的修饰符static删除时,编译器会给我们报错:不能对类型 s917(主类名) 中的非静态方法 square(double)进行静态引用。
于是我上csdn社区搜索了“Java中static的作用”
从中筛选到了一条这样的信息“在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是有种情况例外,就是该成员是用static声明的(在这里所讲排除了类的访问控制)”
于是我想到,主类不也是类的一种吗?我在删除static的基础上做了一些小小的更改,即实例化s917的对象,就有了以下代码:
public class s917 {
public static void main(String[] args) {
s917 num=new s917();
Scanner sr=new Scanner(System.in);
Random r=new Random();
System.out.println("the square of integer 7 is"+num.square(7));
System.out.println("\nThe square of double 7.1 is "+num.square(7.1));
}
public int square(int x) {
return x*x;
}
public double square(double y) {
return y*y;
}
}
这回运行的结果与初版的结果完全一致,印证了我的思考。在Java中所有的都是类,我们不能下意识忽略主类也是类的特性,static的修饰让类中的成员可以通过成员名进行直接调用,而省去实例化的繁杂过程。没有static的修饰,那我们在调用类方法和类变量的时候就需要先对对应的类进行实例化,在通过对象来调用所需的代码。

标签:s917,square,静态,double,System,内容,static,public
From: https://www.cnblogs.com/ruipengli/p/16710957.html

相关文章

  • C#反编译DLL查看代码内容
    方法一:使用ildasm.exe查看IL代码在c盘里面找到ildasm.exe并打开。(Win10自带,一般在系统中的地址为:C:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v7.0A\bin\ildasm.exe)......
  • k8s pv与pvc持久化存储(静态与动态)
    k8spv与pvc持久化存储(静态与动态)PersistenVolume(PV):对存储资源创建和使用的抽象,使得存储作为集群中的资源管理PV分为静态和动态,动态能够自动创建PV•PersistentVolumeC......
  • Java子方法中static去掉之后的报错
    importjava.util.Arrays;importjava.util.Random;publicclassac{ publicstaticvoidmain(Stringargs[]){ System.out.println("Thesquareofinteg......
  • 自愿写博客(五块钱一条,发布要删除括号的内容)
    1.个人介绍大家好,我是来自软工七班的一位码畜,来自湖北武汉,在b站大学就读三年,做了练习时长两年半的代码练习生。本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸......
  • django_静态文件
    ***************************************************************************************************************************************************************......
  • static
    在类中,使用static修饰符修饰的属性(成员变量)称为静态变量,也可以称为类变量,常量称为静态常量,方法称为静态方法或类方法,它们统称为静态成员,归整个类所有。静态成员不依赖于......
  • 案例:模拟京东快递单号查询(当我们在文本框输入内容时,文本框上面自动显示大号字的内容)
    案例:模拟京东快递单号查询(当我们在文本框输入内容时,文本框上面自动显示大号字的内容)案例分析:快递单号输入内容时,上面的大号字体盒子(con)显示(这里的字号更大)表单检验用户......
  • 第二次Java课堂随笔(静态static的内容)
    老师的课件里面提到了Java中的静态导入内容,那么什么是静态导入呢?于是我在网上查了这个有关内容,百度给出的解释是这样的:Java静态导入实际上就是通过给导入包名中添加一个sta......
  • 案例:模拟京东按键输入内容(当我们按下 s 键,光标就定位到搜索框)
    案例:模拟京东按键输入内容(当我们按下s键,光标就定位到搜索框)案例分析:核心思路:检测用户是否按下了s键,如果按下了s键,就把光标定位到搜索框里面使用键盘事件对象里面......
  • 静态static
    static关键字修饰变量和函数:1、局部变量2、全局变量3、函数static关键字最基本的用法是:1、被static修饰的变量属于类变量,可以通过类名.变量名直接引用,而不需要new出一......