Day10 java面向对象:对象的定义和使用,构造器,内存分析,类与对象

面向对象

面向过程&面向对象

在这里插入图片描述

面向对象抽象出来的是对象、属性和方法。

什么是面向对象

面向对象:以类的方式组织代码,以对象的方式组织数据。

在这里插入图片描述

回顾方法及加深

在这里插入图片描述
1.static修饰的方法是和类一起加载,普通类的方法在类实例化之后才存在。

2.值传递和引用传递。

3.this代表当前类或对象。

public class Demo01 {
    public static void main(String[] args) {
        int a=1;
        change(a); //值传递
        System.out.println(a);//1

        Persion persion=new Persion();
        persion.name="123";
        change(persion); //引用传递
        System.out.println(persion.name);//“jyw”
    }
    public static void change(int a){
        a=10;
    }
    public static void change(Persion a){
        //Persion是一个对象:指向具体的人
        a.name="jyw";
    }
}
//定义一个persion类,有一个属性:name
class Persion{
    String name;//null
}

创建和初始化对象

在这里插入图片描述

public static void main(String[] args) {
    //类:抽象的,需要实例化
    //类实例化后会返回一个自己的对象!
    //student对象是一个Student类的具体实例
    Student student=new Student();
    Student student1=new Student();
    student.name="小明";
    student.age=3;
    student1.name="小红";
    student.age=4;

    System.out.println(student.name);//小明
}

构造器详解

//java文件编译后生成class文件
public class Persion {
    //一个类即使什么都不写,它也会存在一个方法
    //显示的定义构造器
    String name;
    int age;

    //实例化初始值。
    //构造器的作用:1.使用new关键字,本质是在调用构造器
    //2.初始化值
    public Persion() {
    }

    //有参构造:一旦定义了有参构造,无参构造必须显示定义
    public Persion(String name, int age) {
        this.name = name;
        this.age = age;
    }

    /*
    构造器的特点:
    1.和类名相同
    2.没有返回值
    作用
    1.new 本质在调用构造方法
    2.初始化对象的值
    注意点:
    1.定义有参构造之后,如果想使用无参构造,需要显示定义无参构造
    2.Alt+Insert 快捷键快速生成构造函数
     */
}

对 象 内 存 分 析 \color{red}{对象内存分析}

在这里插入图片描述

视频分析地址:狂神说javahttps://www.bilibili.com/video/BV12J41137hu?p=65

类与对象小结

在这里插入图片描述

  1. 类和对象

    类是一个模板,抽象的;对象是一个具体的实例。

  2. 方法

    定义、调用!

  3. 对象的引用

    引用类型;基本类型(8种)

    对象是通过引用来操作的:栈—>堆

  4. 对象的属性:字段Field 成员变量

    默认初始化:

    ​ 数字:0 0.1

    ​ char:u0000

    ​ boolean:false

    ​ 应用:null

​ 修饰符 属性类型 属性名=属性值

  1. 对象的创建和使用

    • 必须使用new关键字创造对象;构造器Persion jyw=new Pers();
    • 对象的属性 jyw.name
    • 对象的方法 jyw.sleep()
  2. 静态的属性 属性

    动态的行为 方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值