如题:
private static String filePath;public static void setFilePath(String filePath){
this.filePath = filePath;
这样用this不可以 什么原因
private static String filePath;public static void setFilePath(String filePath){
this.filePath = filePath;
这样用this不可以 什么原因
就是说调用static方法时
根本不存在this指定的字段吗
有点没搞明白 为什么不可以用
这是语法规定,
this.filePath = filePath;
这样用this不可以 什么原因static 与private是不能混用的
我是这样认为的
1.不可以用类的对象实例以及this来访问静态成员
2.静态成员里不支持使用this。
private static String filePath; public static void setFilePath(String filePath){
(应该改成当前类名).filePath = filePath;
}
非static属于对象 类似于私人的东西 当你要用公家的东西时,你可以直接拿来用,当你要用某个私人物品时,那你必须要指定所用的那个物品是来自于哪个(私)人你不要以为static的东西写在某个类里面就和这个类所引用出来的对象有什么关系,static的东西写在任何一个地方都是一样的this:在对象内部表示的就是其本身(对象),在对象外面是没法用的就像:
张三对李四说:"我",这个"我"就等于this,就是代表张三
而李四要叫张三的话不可能叫"我"吧!再强调一下:static的东西不是属于对象的东西!java的面向对象概念含有10%的杂质,也就是非面向对象的东西
5% = 八大基础类型
5% = static
其实就像楼上的朋友说的那样,楼主不必去想为什么static不能这么用,只需记住不能这么用就行了,到你再多学一点,自己就清楚了。