JavaSE学习之--类和对象(一)

简介: JavaSE学习之--类和对象(一)

  💕粗缯大布裹生涯,腹有诗书气自华💕

作者:Mylvzi

文章主要内容:Java学习之--类和对象

类和对象

类的实例化:

1.什么叫做类的实例化

 利用类创建一个具体的对象就叫做类的实例化!

当我们创建了一个类,实际上就是创建了一个“自定义类型”(和C语言中的结构体类似),是一种新的类型。既然是类型,就和Int,char一样可以进行变量的创建。创建的变量是一种引用变量,变量内部存储的是创建对象的地址!

2.注意事项

1.类类似于结构体,是一种自定义类型,通过.操作符访问成员变量

2.类可以创建多个对象,比如此处还可以创建stu2,stu3.......

3.类:理解为图纸,不占用物理地址;但是通过图纸创建出房子的时候,房子(对象)占用物理地址。

this的引用

先来看两个问题:

正确代码:

// 创建一个学生类
class Stu{
    public String name;
    public String sex;
    public int age;
    // 所有对成员变量进行操作的地方都要添加this,代表是当前对象调用的方法!!!
    // this写在方法内部
    public void setStu(String name,String sex,int age) {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }
    public void printStu() {
        System.out.println(this.name+" "+this.sex+" "+this.age);
    }
}
public class Test2 {
    public static void main(String[] args) {
        // 实例化一个stu1的对象
        Stu stu1 = new Stu();
        Stu stu2 = new Stu();
        Stu stu3 = new Stu();
        stu1.setStu("lvzi","nv",18);
        stu2.setStu("biandu","nan",19);
        stu3.setStu("栀子","nv",20);
        stu1.printStu();
        stu2.printStu();
        stu3.printStu();
    }
}

1.定义:

      this引用的作用就是告诉编译器我当前我调用的是哪个对象,对当前对象的成员变量进行操作!!!避免了很多可能出现的错误

2.注意事项:

1.this只能在成员方法内部使用。

2.this只能调用当前对象,不能再调用另一个对象

3.实际上,成员方法内部其实是有“对象”这个参数的,只不过一般被省略!!!

4.this是Java中的一个关键字,表示对象的引用

对象的构造和初始化

1.局部变量和成员变量的初始化

同时,如果我们想要对成员变量进行初始化,需要调用成员方法:

可是如果每次都需要调用方法来初始化对象是否过于麻烦?有没有其他方法可以初始化对象呢?答案是可以的,接下来就讲解初始化对象的一种特殊方法-->构造方法!!!

2.构造方法:

是一种用来初始化对象的特殊方法

注意事项 :

1.不需要写返回值

2.只负责初始化对象,并不负责给对象开辟空间

3.方法名必须和类名相同!!!

4.创建完对象,编译器会自动进入到构造方法内部(代码演示)

4.构造方法之间也可以构成重载 (带参数的构造方法和不带参数的构造方法之间构成重载)
// 带参数的构造方法
    public Stu(String name,String sex,int age) {
        this.name = name;
        this.sex= sex;
        this.age = age;
    }
// 利用带参数构造方法,只需在创建对象时传入参数即可
        // 编译器会进入到构造方法,帮助你初始化成员对象
        Stu stu1 = new Stu("绿子","女",18);
        stu1.printStu();
5.如果用户没有定义构造方法,编译器会自动创建一个无参的构造方法,这个默认的构造方法也可以初始化成员变量,只不过是利用默认值进行初始化的(解释了为什么字段可以不初始化也能通过编译)

6.如果本身就存在带参数的构造方法,编译器并不会自动创建一个构造方法!所以,在有带参数的构造方法时,实际参数必须传参!!!

7.通过this调用其他构造方法(简化初始化代码)

注意:

1.this必须写在第一行!!!不是第一行就无法通过编译

2.不能呈环!!!

3.绝大多数情况下构造方法使用public来修饰,特殊情况下使用private修饰

4.this是一种引用,哪个对象调用,就引用哪个对象,this此时就是一种引用数据类型,存储的是指向对象的地址!!!

8.快速创建构造方法 (常用)

总结:所谓的构造方法就是一种用来初始化对象的特殊方法!!!方法名必须和类名相同,通过带参数的构造方法可以快速进行对象的初始化!!!

JavaSE学习之--类和对象(二)+https://developer.aliyun.com/article/1413484

目录
相关文章
|
8月前
|
Java 编译器
【JAVASE】类与对象 中
【JAVASE】类与对象
|
8月前
|
Java 编译器
【JAVASE】类与对象 下
【JAVASE】类与对象
|
6月前
|
存储 Java
【JavaSE】基础笔记 - 类和对象(上)
【JavaSE】基础笔记 - 类和对象(上)
49 0
|
6月前
|
Java 编译器
【JavaSE】基础笔记 - 类和对象(下)
【JavaSE】基础笔记 - 类和对象(下)
38 0
|
8月前
|
存储 Java 编译器
【javaSE】 类和对象详解(下)
【javaSE】 类和对象详解(下)
|
15天前
|
Java 编译器
JavaSE基础 --- 类与对象
JavaSE基础 --- 类与对象
51 0
|
15天前
|
Java 编译器
JavaSE学习之--类和对象(三)
JavaSE学习之--类和对象(三)
36 0
|
15天前
|
存储 Java 编译器
JavaSE学习之--类和对象(二)
JavaSE学习之--类和对象(二)
30 0
|
15天前
|
存储 SQL Java
【JavaSE语法】类和对象(二)
本文主要介绍了面向对象的三大特点之一封装,并引入了包的概念;还介绍了static修饰类的成员(变量+方法),最突出的特点就是static修饰的属于类,而不属于某个对象;最后介绍了四种代码块
40 7
|
6月前
|
存储 Java 编译器
【JavaSE语法】类和对象(一)
【JavaSE语法】类和对象(一)
35 0