• 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()形式写的

     

  • 相关阅读:
    反射(五)之动态代理的作用
    反射(四)之反射在开发中的适用场景及利弊
    反射(三)之通过反射获取构造方法, 成员变量, 成员方法
    反射(二)之反射机制
    反射(一)之初探反射
    java多线程(五)之总结(转)
    java多线程(四)之同步机制
    java多线程(三)之售票案例
    java多线程(二)之实现Runnable接口
    java多线程(一)之继承Thread类
  • 原文地址:https://www.cnblogs.com/liyihome/p/3670194.html
Copyright © 2020-2023  润新知