【java面向对象编程】第四弹----作用域、构造方法及this关键字

发布于:2024-12-21 ⋅ 阅读:(19) ⋅ 点赞:(0)

 笔上得来终觉浅,绝知此事要躬行

🔥 个人主页:星云爱编程

🔥 所属专栏:javase

🌷追光的人,终会万丈光芒  

 🎉欢迎大家点赞👍评论📝收藏⭐文章

  

目录

一、作用域

1.1基本使用

1.2注意事项及使用细节

二、构造方法(构造器)

2.1基本介绍

 2.2实例

 2.3注意事项及细节

 三、对象创建的流程分析

四、this关键字

4.1基本介绍

4.2作用

4.3注意事项和使用细节

结语

一、作用域

1.1基本使用

(1)在java编程中,主要的变量就是属性(成员变量)和局部变量。

(2)我们所说的局部变量一般是指在成员方法中定义的变量。

(3)java中作用域的分类:

        全局变量:也就是属性,作用域为整个类;

        局部变量:除了属性之外的其他变量,作用域为定义它的代码块。

(4)全局变量可以不赋值直接使用,因为它有默认值,默认规则同数组;

        局部变量必须赋值后才能使用,它没有默认值。

1.2注意事项及使用细节

(1)属性和局部变量可以重名,使用时遵循最近原则。

(2)在同一个作用域中,两个局部变量不能重名。

(3)全局变量(属性)生命周期长,随着对象的创建而创建,随着对象的销毁而销毁。

        局部变量生命周期短,随着其所在代码块的执行而创建,随着其所在代码块的结束而销毁。

(4)作用域范围不同:

全局变量(属性):可以被本类使用或其他类使用;

局部变量:只能在本类中对应的方法中使用。

(5)修饰符不同

全局变量(属性):可以加修饰符;

局部变量:不可以加修饰符。

二、构造方法(构造器)

2.1基本介绍

构造方法又叫构造器(constructor),是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。

作用场景:在创建对象时,就直接指定这个对象的属性。

基本语法:

[修饰符] 方法名(形参列表){

方法体;

}

语法说明:

(1)构造器的修饰符可以默认, 也可以是public protected private。

(2) 构造器没有返回值,也不能写void。

(3) 方法名 和类名字必须一样。

(4)参数列表和成员方法一样的规则。 

(5)在创建对象时,系统会自动的调用该类的构造器完成对象的初始化。

 2.2实例

public class Test8 {
    public static void main(String[] args) {
        Cat cat = new Cat("小黄", 5);
        cat.info();
    }
}

class Cat{
    public String name;
    public int age;
    public Cat(String Name,int Age){//构造方法
        name=Name;
        age=Age;
    }
    
    public void info(){//打印对象信息
        System.out.println("name="+name+" age="+age);
    }
}

 2.3注意事项及细节

(1)一个类可以定义多个构造方法,即构造方法重载。

(2)构造方法名要和类名相同。

(3)构造方法没有返回值,而且不能写void。

(4)构造方法是完成对象的初始化,而不是创建对象。

(5)在创建对象时,系统自动调用该类的构造方法。

(6)如果在类中没有定义构造方法,系统会自动给类生成一个默认无参构造方法。

(7)一旦定义了构造方法,默认的无参构造方法就被覆盖了,就不能使用默认的无参构造方法了,除非显式的定义一下,如

   public Cat(){ }

 三、对象创建的流程分析

看如下代码,分析创建对象的流程:(面试题)

public class Test9 {
    public static void main(String[] args) {
        Person person = new Person("至尊宝", 19);
    }
}

class Person{
    String name;
    int age=99;
    public Person(String Name,int Age){
        name=Name;
        age=Age;
    }
}

 (1)加载Person类信息(Person.class),只会加载一次。

(2)在堆中分配空间。

(3)完成对象初始化:

        ①默认初始化:name=null,age=0;

        ②显示初始化:age=99,name=null;

        ③构造方法初始化:name="至尊宝",age=19。 

(4)把对象在堆中的地址返回给person(person是对象名,也可以理解成是对象的引用)。

四、this关键字

4.1基本介绍

java虚拟机会给每个对象分配this,代表当前对象。

理解:

可以理解为人称代词"我",每个人说的"我"都代表自己。

this也是如此,那个对象调用this,this就代表那个对象

4.2作用

(1)引用当前对象。

(2)调用当前类的构造方法。例如:

public class Test9 {
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println("name="+person.name+"age="+person.age);
    }
}

class Person{
    String name;
    int age;
    public Person(String Name,int Age){
        name=Name;
        age=Age;
    }
    public Person(){
        this("未命名",0);//调用上面的构造方法
    }
}

(3)返回当前对象的引用。

在方法中,可以使用return this来返回当前对象的引用,这样可以在同一个语句中连续调用多个方法

(4)传递当前对象作为参数。

4.3注意事项和使用细节

(1)this关键字可以用来访问本类的属性、方法、构造器

(2)this用于区分当前类的属性和局部变量。

(3)访问成员方法的语法:this.方法(参数列表)。

(4)访问构造方法的语法:this(参数列表);注意只能在构造方法中使用。

(5)this不能在类定义的外部使用,只能在类定义的方法中使用。

结语

感谢您的耐心阅读,希望这篇博客能够为您带来新的视角和启发。如果您觉得内容有价值,不妨动动手指,给个赞👍,让更多的朋友看到。同时,点击关注🔔,不错过我们的每一次精彩分享。若想随时回顾这些知识点,别忘了收藏⭐,让知识触手可及。您的支持是我们前进的动力,期待与您在下一次分享中相遇!

路漫漫其修远兮,吾将上下而求索。


网站公告

今日签到

点亮在社区的每一天
去签到