在java中public void与public static void有什么区别 ?
2018-03-19 12:03
549 查看
public void 修饰是非静态方法,该类方法属于对象,在对象初始化(new Object())后才能被调用;
public static void 修饰是静态方法,属于类,使用类名.方法名直接调用。
正如答主 @小透明 所说,非静态方法之间可以互相调用,非静态方法也可以调用静态方法;但是静态方法不可以直接调用(未初始化的)非静态方法。由于 public static void main 作静态方法,所以遵循这个原则。
但是 Java 可以通过对象名调用静态方法(对象名.静态方法)。Java 中不会导致语法错误(syntax error),但是不推荐这样使用,静态方法与非静态方法调用时应当绝对区分;而且其他 OOP 语言如 C#,Swift,Objective-C 都没有这样的语法。
public static void 修饰是静态方法,属于类,使用类名.方法名直接调用。
正如答主 @小透明 所说,非静态方法之间可以互相调用,非静态方法也可以调用静态方法;但是静态方法不可以直接调用(未初始化的)非静态方法。由于 public static void main 作静态方法,所以遵循这个原则。
但是 Java 可以通过对象名调用静态方法(对象名.静态方法)。Java 中不会导致语法错误(syntax error),但是不推荐这样使用,静态方法与非静态方法调用时应当绝对区分;而且其他 OOP 语言如 C#,Swift,Objective-C 都没有这样的语法。
相关文章推荐
- JAVA中在类中声明方法的时,public void dog和直接void dog有什么区别?
- Java里public static void main(String[] args)与public static void main(String args[])的区别(by 星空武哥)
- 实例分析Java中public static void main(String args[])是什么意思
- 【Stackoverflow好问题】Java修饰符:public,protected,private,不加修饰符。有什么区别呢?
- 实例分析Java中public static void main(String args[])是什么意思
- java将属性设置为私有,在给其添加get/set方法和直接把属性设置成public有什么区别
- 第2章 Java编程基础——FAQ2.03 用public. protected和private修饰方法有什么区别?
- java中的void有什么作用啊?构造方法与方法有什么区别呢?
- JAVA在定义一个方法的时候,不用public和用public有什么区别?
- Java千百问_03基本语法(003)_public、privite、protected有什么区别
- Java 关于paintComponent与paint有什么区别?各自的特征
- java中public、private、protected区别
- Java SE\EE\ME区别-下载什么jdk
- java和c++在面向对象上有什么区别?
- JAVA中int与Integer有什么区别?
- 在JAVA中, 静态方法和一般方法有什么区别?
- 无法解析的外部符号 "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)"
- Java修饰符public,private,protected及默认的区别
- java的INPUTSTREAM和INPUTSTREAMREADER有什么区别??
- Java - Error和Exception有什么区别?