java面向对象-this关键字

this关键字的作用:、
当方法的局部变量和类的成员变量的命名重复的时候,根据就近原则,会使用局部变量。
如果需要访问本类当中的成员变量,需要使用this.
谁调用的方法,谁就是this

public class PeoPle {
    String name;
    public void call(String name){
        System.out.println(name + "给" + name + "打电话!");
    }
}

//实例化对象
public class PeoPleDemo {
    public static void main(String[] args) {
        PeoPle p = new PeoPle();
        p.name = "李生";
        p.call("王五");//王五给王五打电话!
    }
}

// 使用this
public class PeoPle {
    String name;
    public void call(String name){
        System.out.println(this.name + "给" + name + "打电话!");
    }
}

public class PeoPleDemo {
    public static void main(String[] args) {
        PeoPle p = new PeoPle();
        p.name = "李生";
        p.call("王五");//李生给王五打电话!
    }
}

谁调用的这个call方法,谁就this,上面的p调用的call,所以this就是p对象
查看p的内存地址:
System.out.println(p);//[email protected]
查看this的内存地址:
System.out.println(this);//[email protected]

原文地址:https://www.cnblogs.com/lishi-jie/p/11697545.html

时间: 2024-10-14 04:49:31

java面向对象-this关键字的相关文章

JAVA面向对象-----super关键字

JAVA面向对象-–super关键字 1:定义Father(父类)类 1:成员变量int x=1; 2:构造方法无参的和有参的,有输出语句 2:定义Son类extends Father类 1:成员变量int y=1; 2:构造方法无参和有参的.有输出语句this.y=y+x; 3:创建Son类对象 Son son=new Son(3); System.out.println(son.y); //4 class Father { int x = 1; Father() { System.out.p

java面向对象之关键字,权限修饰符

1.关键字:this,static,package,importthis:1.表示对当前对象的引用!2.表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下.3.用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法).但是这里必须非常注意:只能引用一个构造方法且必须位于开始!还有就是注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有this的方法!虽然夸张,但是却充分说明

Java面向对象之关键字static 入门实例

一.基础概念 静态关键字 static 是成员修饰符,直接用于修饰成员. (一)特点: 1.被静态修饰的成果,可以直接被类名所调用. 2.静态成员优先于对象存在. 3.静态成员随着类的加载而加载.随着类的消失而消失.静态成员的生命周期很长. (二)注意事项: 1.静态方法只能访问静态成员,不能访问非静态成员. 2.静态方法中不能出现this或者super关键字. 3.主函数是静态的. (三)什么时候用: 1.成员变量:如果数据在所有对象中都是一样的.直接用静态修饰. 2.成员函数:如果函数没有访

java面向对象_static关键字

1. 修饰成员变量:有static修饰的为静态变量,没有static修饰的称为实例变量. 实例变量:属于对象的,一个对象有一份.在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响.存储在堆中. 静态变量:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化. Demo: 1 public class Spike 2 { 3 public static void main(String[] args) 4 { 5 Counter a = new Co

Java 面向对象-- final 关键字

使用final声明的类不能被继承: 使用final声明的方法不能被子类覆盖: 使用final声明的变量不能被修改,即为常量: 1,final修饰类 2,final修饰方法 3,final修饰的变量 final修饰字段的时候 一般和static一起使用,来定义一些不可变的静态常量 方便程序使用: package com.xuyigang1234.chp02.extend; public class Demo01 { public static final String ShanDong_Sheng

java面向对象-------this的使用

package java面向对象; /* this关键字的使用,this表示当前创建好的对象 */ public class TestThis { int a,b,c; public TestThis(int a,int b){ //1.通过this来区分局部变量和成员变量 this.a=a; this.b=b; } public TestThis(int a,int b,int c){ //2.通过this调用上面的构造方法,必须放在第一句 //3.this不能在static静态方法中使用 t

java面向对象的核心思想

Java面向对象-抽象类与接口 1.Java final关键字的使用 package edu.tongji.fni; /*final关键字 * 1.final关键字在java中被称为完结器,表示最终的意思 * 2.final能声明类.方法.属性: * 使用final声明的类不能被继承 * 使用final声明的方法不能被重写 * 使用final声明的变量变成常量,常量是不可以被修改的 */ class People{ //前面加了final下面的类会报错 public void tell(){ }

第5篇-JAVA面向对象Ⅰ

第5篇-JAVA面向对象Ⅰ 每篇一句 :面向对象面向君,不负代码不负卿 初学心得: 代码虐我千百遍,我待代码如初恋 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-03| JAVA面向对象 Ⅰ] 1.JAVA作为一种面向对象语言,具有以下基本概念: ● 多态 ● 继承 ● 封装 ● 抽象 ● 类 ● 对象 ● 实例 ● 方法 ● 重载 2.面向对象 什么是面向对象?: 面向对象是一种编程思想 通俗的说:面向对象是一种思考问题的思维方式 为什么使用面向对象以及它的作用 计算机语

10 面向对象(package关键字的概述及作用)

10.01_面向对象(package关键字的概述及作用) A:为什么要有包 *开发时有很多类,如果放在一个文件夹中不方便管理,而且容易重复 将字节码(.class)进行分类存放 包其实就是文件夹 B:包的概述 举例: 学生:增加,删除,修改,查询 老师:增加,删除,修改,查询 - 方案1:按照功能分 com.heima.add AddStudent AddTeacher com.heima.delete DeleteStudent DeleteTeacher com.heima.update U