this和super用法
1. this能分清混淆,形参名与当前对象的某个成员有相同的名字,需要明确使用this关键字来指明你要使用某个成员,使用方法是“this.成员名”。
一般以this.形参数名=形参名,代表送进来赋值的形参数给赋给这个类作为数值
2. 一个类的多种方法之间可以,用“this.方法名”来引用当前类的某个方法,this不用必须写。
1 public class DemoThis{ 2 private String name; 3 private int age; 4 DemoThis(String name,int age){ 5 setName(name); //你可以加上this来调用方法,像这样:this.setName(name);但这并不是必须的,这是调用下面的public void setName(String name)的方 法,下面setAge(age)一样 6 setAge(age); 7 this.print(); 8 } 9 public void setName(String name){ 10 this.name=name;//此处必须指明你要引用成员变量,字面意思,左边这个类的name被右边的name那么赋值,右边的name从public void setName(string name)获 得
11 } 12 public void setAge(int age){ 13 this.age=age; 14 } 15 public void print(){ 16 System.out.println("Name="+name+" Age="+age);//在此行中并不需要用this,因为没有会导致混淆的东西 17 } 18 public static void main(String[] args){ 19 DemoThis dt=new DemoThis("Kevin","22"); 20 }
3.This表示当前对象。
1 class A { 2 3 int number=50 4 5 Public void printNum(){ Int number=40; System.out.println(this.number); } 6 7 } 8 9 //此时打印的是实例变量50,而非局部变量,println(this.number)解:打印这个方法/类 的number,这个是指printNum的被赋予的值,50
super用法:
super.print();有这句就代表调用父类的print()方法,不多说了super.print(mm)同理调用了父类的print(mm)的方法,不是构造方法啊,构造方法用super()形式写的