疯狂JAVA讲义学习——基础代码练习——this关键字的使用

对象的产生和使用

1、创建对象的根本途径就是构造器,所以创建对象通过关键字new 加上对应的构造器即可.

2、如果访问权限允许,类里定义的属性和方法可以通过类或实例来调用,

3、有static 修饰的访求和属性,既可通过类来调用,也可以通过实例来调用.

对象.引用和指针

1、Person p = new Person();,这行代码创建了一个Person 实例,也被称为对象,这个对象被赋给了p变量.

2、也就是说引用型变量里存放的仅仅是一个引用,它指向实际的对象.

对象的this 引用

this 关键字总是指向调用该方法的对象:

           1.构造器中引用该构造器执行初始化的对象

            2.在方法中引用调用该方法的对象

在方法里的this 指谁调用就指谁

注: this 不能用在有static 修饰的方法中.

===========================================================

public class Dog22
{
    public void jump()
    {
        System.out.println("正在执行jump方法");
    }

    public void run()
    {
        this.jump();
        System.out.println("正在执行run方法");
    }
}

public class DogTest22
{
    public static void main(String[] args)
    {

        Dog22 dog = new Dog22();

        dog.run();
    }
}

 

this 关键字总是指向调用该方法的对象

在方法里的this 指谁调用就指谁

 =============================================================

 

 

 

 

 =================================================================

public class ThisInConstructor
{
    public int foo;

    public ThisInConstructor()
    {
        int foo = 0;

        this.foo = 6;
    }
    public static void main(String[] args)
    {
        System.out.println(new ThisInConstructor().foo);
    }
}

 

public class Employee
{
    String name;
    int age;
    String designation;
    double salary;
 
    public Employee(String name)
    {
        this.name = name;
    }
 
    public void empAge(int empAge)
    {
        age =  empAge;
    }
 
    public void empDesignation(String empDesig)
    {
        designation = empDesig;
    }
 
    public void empSalary(double empSalary)
    {
        salary = empSalary;
    }
 
    public void printEmployee()
    {
        System.out.println("名字:"+ name );
        System.out.println("年龄:" + age );
        System.out.println("职位:" + designation );
        System.out.println("薪水:" + salary);
    }
 
    public static void main(String[] args)
    {
 
        Employee empOne = new Employee("RUNOOB1");
        Employee empTwo = new Employee("RUNOOB2");
 
 
        empOne.empAge(26);
        empOne.empDesignation("gao_ji");
        empOne.empSalary(1000);
        empOne.printEmployee();
 
        empTwo.empAge(21);
        empTwo.empDesignation("di_ji");
        empTwo.empSalary(500);
        empTwo.printEmployee();
    }
 
 
}

名字:RUNOOB1
年龄:26
职位:gao_ji
薪水:1000.0

名字:RUNOOB2
年龄:21
职位:di_ji
薪水:500.0

public class Employee
{
    String name;
    int age;
    String designation;
    double salary;
 
    public Employee(String name,int age)
    {
        this.name = name;
        this.age = age;
    }
 
 
    public void empDesignation(String empDesig)
    {
        designation = empDesig;
    }
 
    public void empSalary(double empSalary)
    {
        salary = empSalary;
    }
 
    public void printEmployee()
    {
        System.out.println("名字:"+ name );
        System.out.println("年龄:" + age );
        System.out.println("职位:" + designation );
        System.out.println("薪水:" + salary);
    }
 
    public static void main(String[] args)
    {
 
        Employee empOne = new Employee("RUNOOB1",25);
        Employee empTwo = new Employee("RUNOOB2",22);
 
 
        empOne.empDesignation("gao_ji");
        empOne.empSalary(1000);
        empOne.printEmployee();
 
        empTwo.empDesignation("di_ji");
        empTwo.empSalary(500);
        empTwo.printEmployee();
    }
 
 
}

名字:RUNOOB1
年龄:25
职位:gao_ji
薪水:1000.0

名字:RUNOOB2
年龄:22
职位:di_ji
薪水:500.0

 ===========================================

 与普通方法类似的是,大部分时候,在构造器中访问其他成员变量和方法时,都可以省略this前缀;

但是,如果构造器中有一个与成员变量同名的局部变量,又必须在构造器中,访问这个被覆盖的成员变量,则必须使用this前缀;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值