首页 > 编程语言 >Java子方法中static去掉之后的报错

Java子方法中static去掉之后的报错

时间:2022-09-19 23:12:44浏览次数:82  
标签:square Java class static 静态方法 报错 public

import java.util.Arrays;
import java.util.Random;

public class ac{
  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.5 is " + square(7.5));
  }

  public static int square(int x) {
    return x * x;
  }

  public static double square(double y) {
    return y * y;
  }
}

 

这是用静态方法进行的平方数计算代码,此时它可以正常运转输出正确结果

而当我删除掉方法中的static后再次运行时程序出现了报错

后来我查阅了相关资料了解到在静态方法中是不可应直接调用非静态的方法或属性的。

因为一个类的静态方法在这个class文件被加载之后才可以由这个class类型对象来调用;而非静态方法需要一个实例对象(可能它还未被创建),所以为例避免在静态方法中调用一个还不存在的实例对象的非静态方法,编译器会直接阻止这个行为

标签:square,Java,class,static,静态方法,报错,public
From: https://www.cnblogs.com/yansans/p/16709468.html

相关文章

  • Java中的SPI原理浅谈
    在面向对象的程序设计中,模块之间交互采用接口编程,通常情况下调用方不需要知道被调用方的内部实现细节,因为一旦涉及到了具体实现,如果需要换一种实现就需要修改代码,这违......
  • java学习
    1.基本规范每个java文件只能有一个publicclass,且类名要与文件名相同文件调用的是publicstaticvoidmain(String[]args)函数类名(文件名)首字母大写,函数名单个单词......
  • JavaScript 函数定义
    https://m.runoob.com/js/js-function-definition.html JavaScript使用关键字function定义函数。函数可以通过声明定义,也可以是一个表达式。函数声明在之前的教......
  • jenv for windows[快速切换windows java版本]
    一直以来,切换java版本一直是令我头疼的问题,一开始我的解决办法太蠢了,将所有需要高版本java的软件装在一台虚拟机中,所有低版本java的软件装在一台虚拟机中。但显然,这样并不......
  • Java中如何遍历字符串呢?
    字符串是程序开发中我们见的最多的一种数据类型对字符串的操作,也是我们日常涉及的最多的一种操作方式,那么如何遍历字符串为字符并输出呢?下面笔者讲述三种操作方式,如下所......
  • static
    在类中,使用static修饰符修饰的属性(成员变量)称为静态变量,也可以称为类变量,常量称为静态常量,方法称为静态方法或类方法,它们统称为静态成员,归整个类所有。静态成员不依赖于......
  • JavaScript合并多个数组
    工作中经常会对数组进行合并,稍微总结一下常用的方法:concatJavaScript原生自带的函数,用法如下:letarr1=[3,5,7];letarr2=[4,78,79];letarr3=[];arr3=......
  • JavaEE企业级应用开发教程 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/19awdYpedqslkeYxfU6YSYQ点击这里获取提取码 ......
  • Java面向对象数据结构完全学习教程 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1m6FOQFqsjqYSbKXKs8zHjQ点击这里获取提取码 ......
  • Effective Java中文版 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1AZJcb39IHC6zX7snWElmKQ点击这里获取提取码 ......