为啥加了个static就报错?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥加了个static就报错?相关的知识,希望对你有一定的参考价值。

public class test4
int a;
public void main(String[] agrs)
for(int i=0;i<10;i++)
a+=1;

System.out.print(a);



//错误代码:仅仅因为多加了个"static"
public class test4
int a;
public static void main(String[] agrs)
for(int i=0;i<10;i++)
a+=1;

System.out.print(a);

加static表示静态方法只能调用静态成员 参考技术A public class test4
public static void main(String[] agrs)
for(int i=0;i<10;i++)
int a;
a+=1;

System.out.print(a);


这样就不会报错了吧

java接口中的方法为啥不是static就报错?

public interface Printable void printItMyWay()

Java8给出了接口新特性,接口中的方法可以用static和default修饰,用这两个关键词修饰的方法可以有具体实现,实现该接口的类可以不重写该方法,类似于继承。而没有用这两个关键词修饰的方法则默认是public abstract的。至于某些书上说的,接口内的方法必须是public abstract的,基本上都是以前的老版本(Java8以下),已经跟不上现在的节奏了。 参考技术A 接口中所有的方法都是抽象方法,不能有实现,如果要给出实现,必须将方法声明为static或default。追问

您好,可是书上说接口中所有的方法都必须是默认的public abstract,无论是否有修饰符显式地限定它。

追答

如果没有显式地使用public abstract修饰接口中的方法,那么方法就是public abstract的。
但是,如果用static或default修饰了某个接口中的方法,那么方法就不是abstract的(仍然是public的),并且需要给出此方法的实现。

参考技术B 常量属性,方法必须是抽象的。由实现这个接口的具体子类来实现。总之,接口里面如果有属性必须定义成常量,方法必须是abstract修饰本回答被提问者采纳 参考技术C 用了。就不是抽象方法了。理解什么是抽象方法,什么是空方法吗。

以上是关于为啥加了个static就报错?的主要内容,如果未能解决你的问题,请参考以下文章

相同的SQL语句 为啥在本地可以运行 但是在服务器上运行就报错?

为啥在android studio 布局中使用自定义控件就报错

为啥我的mac idea maven项目一引入依赖就报错?

为啥在android studio 布局中使用自定义控件就报错

mysql中多表连接(不使用join )为啥 超过三张表就报错?

vue3.0脚手架为啥一引入iview就报错