当前位置:   article > 正文

静态方法类名访问,只允许访问静态成员_静态函数只能访问静态成员吗

静态函数只能访问静态成员吗

1:
静态方法和实例方法的区别
(1)静态方法通过“类名.方法名”,也可以通过对象名.方法名。
(所以调用静态方法无需创建对象)
静态方法不允许访问类的非静态成员(包括成员的变量和方法),因此是通过类调用的,没有对象的概念,this->data不能用!!!
(2) 但是实例方法只能通过对象名.方法名
2:

//定义一个静态方法


public class Main91 {
//定义一个静态方法
	public static void hello(String[] args) {
		// TODO Auto-generated method stub
   System.out.println("Hello,Java");
	}

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

//通过类名.方法名调用
//通过对象。方法名调用

public class Main68 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
Main91.hello();//不创建对象,直接通过类名.方法名调用
Main91 m=new Main91();//创建一个对象
m.hello();//对象.方法名调用

	}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

输出

This is a static method.
This is a static method.  
  • 1
  • 2

(1)静态方法只能访问静态成员,实例方法可以访问静态和实例成员。
(2)静态方法不能访问实例成员是因为实例成员变量是属于某个对象,
执行静态方法,不一定存在对象。
(3)静态方法不能使用关键字this。
(4)main()方法是一个典型的静态方法,它同样遵循一般静态方法的规则,所以它可以由系统在创建对象之前就调用。
4.
实例对象可以访问静态成员(静态方法,静态成员变量)
实例对象可以访问实例成员(实例方法,实例成员变量)
例子后期补充,太困了。。。。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/302980
推荐阅读
相关标签
  

闽ICP备14008679号