static方法不能直接访问类内的非static变量和不能调用this,super语句分析
来源:互联网 发布:淘宝展现词怎么刷 编辑:程序博客网 时间:2024/05/20 05:05
大家都知道在static方法中,不能访问类内非static成员变量和方法。可是原因是什么呢?
例子:
class Person{
String name;
看起来,这个例子中的
public static void getInfo()
{
super.getInfo();
System.out.println("子类");
}
super.getInfo();语句是个静态的方法,可以直接调用,但是这里的调用方式却是错误的,用到了super指针.如果是直接调用,没有对象的话,指针从哪里来的?所以这个疑问也是可以打消的.
记住课本上的三条规则.还有就是main()中也是不可以使用this及super指针的.
以后的所有设想都要用代码来表示,不然越说越模糊.
====================================================================
转自:http://blog.sina.com.cn/s/blog_4823bfc00100050k.html
0 0
- static方法不能直接访问类内的非static变量和不能调用this,super语句分析
- 为什么static成员函数不能访问非static变量, 不能调用非static成员函数?
- 成员内部类不能含有static的变量和方法
- java中静态方法中为什么不能使用this、super和直接调用非静态方法
- java中static特殊性和final(static成员直接被访问,this不能用在static方法中,static不可访问非static)
- static方法中,不能访问类内非static成员变量和方法。
- 关于this和super关键字为什么不能再static方法中或者静态代码块中
- Java static修饰的方法中不能使用this、super关键字
- static方法中不能调用非静态方法(easy)
- Spring不能直接@autowired注入Static变量
- static中不能调用类中非static方法
- 为什么不能给类里面的非static非const变量赋初值
- Static 方法里面为何不能使用this
- C++类内为什么不能定义非const的static成员(待续)
- php函数内的static变量以及类static方法
- Java static静态属性和静态方法内存分析和注意事项静态方法不能调用非静态属性和非静态方法,普通方法可以调用静态属性和方法
- 静态加载顺序,类static变量也有默认值(不同于C++),普通成员变量直接赋值语句和非静态语句块的执行位置
- Java的static方法为什么不允许直接使用非static的变量
- Java map结构通过value来追踪key
- C++堆的实现
- 今天安装了麒麟系统
- 【c++】c++11中生成随机数
- 堆栈的数组实现
- static方法不能直接访问类内的非static变量和不能调用this,super语句分析
- Html---表单
- PHP时间戳函数
- HTTP 状态代码表示什么意思?
- jQuery之动画基础隐藏和显示
- jquery validate插件使用
- Phaser 场景的启动与切换
- JS原型设计模式(一)
- [SDOI2010]BZOJ 1924所驼门王的宝藏-强连通分量-缩点-拓扑排序-dp