栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

day14this

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

day14this

this 一、定义:

​ 1.1、this是一个关键字,是一个引用,保存内存地址指向自身。每创建一个对象就有一个this。
​ 1.2、this可以使用在实例方法中,也可以使用在构造方法中。
​ 1.3、this出现在实例方法中其实代表的是当前对象。
​ 1.4、this不能使用在静态方法中。
​ 1.5、
​ 1.6、this() 这种语法只能出现在构造方法第一行,表示当前构造方法调用本类其他的构造方法,目的是代码复用。

二、重点:

实例变量的访问一定要有对象。

主要是两个方法,一个加static的一个不加static的

例子:

//带有static的方法不能使用this
    public static void dosum() {
        CeShi w=new CeShi();
        w.name="陈绪杰2";
        System.out.println(w.name);
        //System.out.println(this.name);错误
    }
    //不带有static的方法可以使用this
    public void sohello() {
        System.out.println(this.name);
    }
三、调用实例方法:

调用实例方法一定要有对象的存在

带有static的方法不能直接访问实例变量和实例方法、

因为实例对象和实例方法都需要有对象的存在。

例子:

public class Test02 {
    //实例变量
    String name="陈绪杰2222";
    //实例方法
    public void dosum(){
        System.out.println("陈绪杰");
        System.out.println(name);
        System.out.println(this.name);
    }
    public static void main(String[] args) {
        //带有static的方法,不创建对象不能调用实例变量和实例方法
        //创建变量
        Test02 tt=new Test02();
        System.out.println(tt.name);
        tt.dosum();
    }
}
四、this不能省的情况:

this. 大部分情况下可以省略,但是用来区分局部变量和实例变量的时候不能省略。

例子:

public class Test03 {
    int id;
    public void su(int a){
        id=a;//因为实例对象有对象,所以这里的this可以省略
        System.out.println(id);

    }
    public void su2(int id){
        this.id=id;//这里的this就不可以省略,用于区分实例变量与局部变量
        System.out.println(this.id);
    }

    public static void main(String[] args) {
    	//创建对象
        Test03 tt=new Test03();
        tt.su(20);
        tt.su2(30);
    }
}

写一个类步骤

1、私有化属性

2、创建get,set方法

3、构造无参的和有参的方

五、this的使用地方

1、出现在实例方法当中,代表当前对象

格式: this.实例变量

2、出现在构造方法当中

this(实参列表) 这种语法只能出现在构造方法第一行,表示当前构造方法调用本类其他的构造方法,目的是代码复用。

例子:

//构造有参的方法
    public This04(int no, String name) {
        this.no = no;
        this.name = name;
    }
//构造无参的方法与上面的方法出现代码重复,所以使用下面的调用构造方法
    public This04() {
        //new This04(10,"chenxujie");//这种会在创建一个对象最终输出的值为空
        this(10,"chenxujie");//正确的写法
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/490698.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号