java中的this、super、static关键字
来源:互联网 发布:赚钱宝pro映射哪些端口 编辑:程序博客网 时间:2024/05/17 09:08
this关键字:
1.用于指代本对象
下面是关于这个代码的内存分析:
1.用于指代本对象
2.用于指代类中的成员,解决变量同名问题
/*this 关键字*/public class Leaf{int i = 0;Leaf(int i){this.i = i;}Leaf increament(){i++;return this;}void print(){System.out.println("i="+i);}public static void main(String args[]){Leaf leaf = new Leaf(100);leaf.increament().increament().print();}}
下面是关于这个代码的内存分析:
从图中可以清晰的看到this关键字存的就是一个指针,并且他指向对象本身在堆中的首地址
static修饰符关键字:
static修饰的成员属于类(只有一份)而不属于某一个具体的对象,因此访问时可以通过对象引用或者类名(不需要实例化)
1.static修饰的成员变量(不能修饰局部变量)位于静态数据段,第一次使用便存在,直到程序运行结束。
2.static修饰的成员方法是静态方法,静态方法不再针对某一个对象,所以静态方法里面不能访问非静态成员(因为非静态成员属于一个对象)
3.static一般用于计数
下面是一个关于static的测试代码:
public class Cat{private static int sid = 0;private String name;private int id;Cat(String name){this.name = name;id = sid++;}public void info(){System.out.println("my name is "+name+" No."+id);}public static void main(String args[]){Cat.sid = 100;Cat mimi = new Cat("mimi");Cat bibi = new Cat("bibi");mimi.info();bibi.info();}}下面是关于这段代码的内存分析:
从内存图中可以看出,static成员变量在数据区,第一次使用时便被初始化,直到程序结束。
super关键字
super同this类似,指向父类的指针,用它可以应用父类对象或者解决父类对象中和子类同名的变量
0 0
- java中的this、super、static关键字
- Java关键字:this、super、static
- Java关键字:static、this、super
- java关键字static,this,super
- Java中的关键字static、this、super、final详解
- Java中的this、super、static和final关键字的详解
- java中的关键字一(this,super,static)
- java中的this,super关键字
- Java中的this、super关键字
- static this,super关键字
- JAVA基础--关键字 final/static/this/super
- JAVA基础--关键字 final 、static、this、super
- Java中的super关键字与this关键字
- java中的super关键字和this关键字
- Java中的static、final、this、super
- JAVA中的this,super,static,final
- java中的super,this和static
- 九、java中的static,final,this,super
- Lua 5.3 中文手册
- 1073. Scientific Notation (20)
- strdup函数的用法
- java8__lambda初学札记
- AFNetwoworking 网络请求时间设置
- java中的this、super、static关键字
- portaudio在windows编译
- ttc清缓存
- Mysql在大型网站的应用架构演变
- 应届生论坛求职分享:最好的莫过于如愿以偿(阿里、去哪儿网、360、华为、中兴offer都到碗里来)
- MySQL原生HA方案 – Fabric体验之旅
- 专为控制打印设计的CSS样式
- Unity3D脚印5—输入
- WMS仓库管理系统---(11)采购管理模块--采购上架